godot2D游戏教程系列一(8)

  • 前言:
  • 完成目标
  • 本阶段主要完善游戏的音效与音乐系统。首先在玩家场景中添加 ​​AudioStreamPlayer​​ 节点,实现子弹发射音效与游戏失败音效,并在对应的发射子弹函数与 ​​game_over​​ 函数中触发播放。随后为玩家跑步添加循环音效,通过在音频资源中启用循环并重新导入,在脚本中根据玩家移动状态控制播放与停止,确保仅在移动且游戏未结束时播放。

  • 接着为史莱姆添加死亡音效:在史莱姆场景中加入音频节点并在子弹命中回调中播放。同时修复逻辑问题,增加史莱姆存活状态判断,避免史莱姆死亡后仍与玩家碰撞导致游戏失败。

  • 最后加入背景音乐(BGM):在音频资源中启用循环,在主场景添加音频节点并设置自动播放。为避免游戏重启时背景音乐重复创建与重播,将 BGM 节点单独保存为场景,并通过 Godot 的"自动加载(Autoload)"功能加载,使其在整个游戏生命周期中保持唯一且持续播放,完成音效与背景音乐的整体整合。

  • 实现过程
  • 我们给玩家发射子弹的时候自动播放子弹音效,在godot中播放声音也是通过节点进行完成的,所以就是在玩家场景中添加AudioStreamPlayer节点
  • 我们把文件夹中枪声的音效拖动到这个音频节点上并且重命名为FireSound
  • 然后让我们来到玩家场景的脚本代码中,让我们在发射子弹的函数里面添加一行代码,利用音频节点,进行播放声音,注意这里是直接拖动的,所以不要再进行修改开火声音的节点名字
  • 接下来让我们添加游戏失败的音效,新建一个音频节点,然后拖动音效文件到对应属性里面去
  • 然后我们在game_over函数里面添加游戏失败的音效
  • 然后接下来我们需要添加玩家跑步的音效,另外值得一提的是玩家跑步的音效需要进行循环播放,因为只要玩家在移动这个音效就要一直播放,所以在设置音频节点之前,我们需要先设置一下这个音频文件,记得勾选完之后要点击一下下面的重新导入
  • 然后我们新建一个音频节点,然后将这个跑步的声音赋值过去
  • 然后我们新建一个函数去播放玩家跑步的声音,当玩家不移动或者游戏结束时停止播放,当玩家没有在播放跑步声音的时候就开始播放跑步声音
  • 接下来我们给消灭史莱姆也进行添加音效,我们来到史莱姆场景中,添加音频节点,然后命名为DeathSound
  • 然后我们需要将史莱姆被消灭的音效拖动到音频节点上
  • 然后我们到子弹碰撞函数里面去添加播放消灭史莱姆音效声音的代码
  • 修一个小问题:当史莱姆死亡后,那个0.6秒玩家碰到之后也会进行输掉游戏所以我们需要到史莱姆场景的脚本代码中添加一个检测,只有当史莱姆活着且撞到玩家,玩家才会输掉游戏
  • 最后我们给游戏添加上一个BGM背景音乐,这里我们也是启用一下循环播放,并且进行重新导入
  • 然后来到我们的主场景添加音频节点
  • 把bgm音乐赋值到这个音频节点上,还要勾选一下下面的autoplay这样子bgm就会在游戏一开始的时候进行播放了,这个节点名称重命名为BGM节点
  • 然后我们需要对这个播放bgm的音频节点进行一下处理,因为当游戏重新启动之后再主场景下的音频节点就会进行重新播放bgm,然后我们可以让bgm节点出于主场景的节点之外。我们可以使用到godot的自动加载功能,自动加载功能可以让一个场景或者节点在游戏开始的时候自动加载出来与主场景进行同时存在
  • 我们来到左上角项目,点击项目设置
  • 然后点击全局,点击自动加载就可以看到这个界面,我们需要把bgm节点进行保存为场景
  • 我们右键BGM节点,然后选择将分支节点保存为场景,然后保存到Scense文件夹中
  • 保存完之后记得要删掉这个原先的节点,然后到自动加载界面去添加这个BGM场景
相关推荐
如果你想拥有什么先让自己配得上拥有1 小时前
向师傅学习的黄金和斐波总结二
学习
楼田莉子1 小时前
CMake学习:入门及其下载配置
开发语言·c++·vscode·后端·学习
宵时待雨2 小时前
数据结构(初阶)笔记归纳7:链表OJ
c语言·开发语言·数据结构·笔记·算法·链表
2501_901147832 小时前
组合总和IV——动态规划与高性能优化学习笔记
学习·算法·面试·职场和发展·性能优化·动态规划·求职招聘
Jan123.2 小时前
深入理解数据库事务与锁机制:InnoDB实战指南
数据库·学习
爱喝可乐的老王2 小时前
机器学习监督学习模型--决策树
学习·决策树·机器学习
人有一心2 小时前
【学习笔记】因果推理导论第4课
笔记·深度学习·学习
IT=>小脑虎2 小时前
软件测试零基础衔接进阶知识点详解【进阶版】
学习
saoys2 小时前
Opencv 学习笔记:列表筛选(查找满足指定间距的数值)
笔记·opencv·学习