Godot 引擎 AudioStreamPlayer 基础

声音是电子游戏重要的一环, godot 自然也会涉及到,今天我们看一下如何播放声音

准备

Godot 版本

本文使用的 godot 版本为 V3.0.6.stable

将音频文件转换为 ogg 或 wav 格式

godot 只能识别 ogg 或 wav 格式的音频文件,所以开始前,请将需要播放的音频文件转换为这两种格式后,保存在 godot 项目下

流程

添加 AudioStreamPlayer 节点

Godot 通过 AudioStreamPlayer 节点来播放声音,所以我们需要向场景中加入一个该节点

为 AudioStreamPlayer 节点添加流

AudioStreamPlayer 顾名思义是 音频流播放器 ,所以我们要给它添加一个音频流,也就是我们之前准备好的 ogg 文件,在本文中为 resource 目录下的 m-burst03.ogg

在适当位置播放音频

接下来我们就可以在脚本中控制音频的播放时机了,这里我们演示下 root 节点加载成功时播放声音,首先我们给 root 节点附加脚本

我们来把函数 _ready 修改如下

func _ready():
	var player = get_node("AudioStreamPlayer")
	player.play()

然后运行这个场景(右上角有一个带运行符号的场记板图标,鼠标悬停会提示快捷键),就可以听到声音了,然而这个声音是循环播放的,背景音乐的话是可以做,但是如果是音效的话,我们需要停用循环,我们可以继续修改 _ready 函数

func _ready():
	var player = get_node("AudioStreamPlayer")
	player.stream.loop = false
	player.play()

或者保持脚本不变,修改音频文件的导入属性,重新导入

总结

在 godot 中播放音频文件还是很简单的,不过注意 godot 只支持 ogg 和 wav 格式的音频文件