Godot游戏开发之FlappyBird(七)------音效系统

本系列是根据老师的教程做的, 中间遇到些小问题, 于是把自己做的过程记录下来, 便于下次查看, 如有错误, 欢迎批评指正, 附上老师的原地址: 开发游戏的老王

导入音频

音频在之前已经导入了,要检查一下LOOP(循环播放)是否开启,如果是开启要先关闭一下,然后重新导入,用到的音频都处理下
在这里插入图片描述

新建AudioManager场景

  1. 新建场景,再新建节点,节点类型为Node,惯例,改名:AudioManager
    在这里插入图片描述
    在这里插入图片描述

配置音频资源

添加一个位置无关版本的音频流播放器节点

AudioStreamPlayer:位置无关的音频流播放器(2D/3D通用)
AudioStreamPlayer2D位置相关的音频流播放器2D
AudioStreamPlayer3D位置相关的音频流播放器3D

在这里插入图片描述
在这里插入图片描述
以此类推,把所有的音频全部添加上,记得重命名
在这里插入图片描述

添加脚本

脚本功能:调用者调用函数的时候给定要播放的音频名称,AudioManager节点就会为其播放
在这里插入图片描述

extends Node

func play(name : String):
	var sfx = find_node(name)
	if sfx is AudioStreamPlayer:
		sfx.play()

保存一下,放到一个新文件夹Manager下
在这里插入图片描述

使用自动加载实现单例场景

单例简介
单例模式要解决两个问题:

  1. 某个类(Class)在整个系统中有且只有一个实例。
  2. 这个实例可以在整个系统被访问。

一般用于资源管理类,核心数据类等
详情见:https://orzgame.blog.csdn.net/article/details/105040614

GDScript依靠自动加载实现单例模式,步骤如下:
打开 项目>项目设置>自动加载
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

调用"AudioManager"

  1. 添加得分音效,打开ScoreArea.gd,添加这一行
    在这里插入图片描述
AudioManager.play("sfx_point")#音效
  1. 添加死亡和按钮按下音效
    在这里插入图片描述
AudioManager.play("sfx_swooshing")#按键音效


AudioManager.play("sfx_hit")#死亡音效
  1. 运行一下
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值