注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本
声音
众所周知,声音系统是一个游戏中非常重要的组成部分,优秀的游戏音乐是许多玩家能够长时间享受其中的重要因素。因此,熟悉和使用声音系统是一个游戏制作者的必修功课,本篇文档将为大家介绍声音系统中一些简单按键的功能和使用方法,以及实现用脚本控制音乐的播放。
一、声源组件的按钮介绍
1.创建声音。在Genesis-3D中,有两种创建声音的方法,本质上没有区别。一是点击场景树中的创建按钮,选择栏目中的声音一项。如图所示
方法二是在场景树中右键点击任一actor,选择栏目中的组件,在组件栏目中点击音源。如图所示
2.在音源面板添加音频。当我们使用上述两种方法创建声音之后,便可以在属性栏看到音源面板,我们需要在资源管理器中导入音乐文件,然后在音频面板中点击,可以添加音频。如图所示
3.自动播放与循环播放。假如你希望这个音乐一直作为背景音乐重复播放,那么就应点击下方的自动播放与循环播放按钮。假如你想要用脚本控制音乐的播放便不应该勾选这两项,如图所示
4.音量与音调。可以在播放音乐的同时调节它们来达到最佳效果。如图所示
5.声音类型。声音类型中有一个卷展栏,其中的选项是2D、3D。它们的区别是:选择2D类型时,listener收听的声音从始至终保持一致。当选择3D类型时,listener接收到的声音大小会根据其与音源之间的距离来判定。因此开发者需要根据不同的场景来设置声音类型。如图所示
二、脚本控制声音的播放
1.创建sound脚本,拖拽到场景中的声音系统上。如图所示
2.编写代码。在脚本中写下如下代码,即可以实现按下P键控制音乐播放,按下S键控制音乐停止
01 | using System; |
02 | using System.Runtime.CompilerServices; |
03 | using ScriptRuntime; |
04 | namespace ScriptRuntime |
05 | { |
06 | public class sound : ScriptableClass |
07 | { |
08 |
09 | public override void OnFrame() |
10 | { |
11 | if(Input.KeyPressed(Code.P)) |
12 | Owner.GetComponent< SoundSource>().Play(); |
13 | //按下P键控制音乐播放// |
14 | if(Input.KeyPressed(Code.S)) |
15 | Owner.GetComponent< SoundSource>().Stop(); |
16 | //按下S键控制音乐停止// |
17 | } |
18 | }; |
19 | } |
3.运行游戏,检测效果。点击发布并运行游戏(详细步骤请参考***文档),便可以通过P、S键来控制音乐播放了。
这就是本篇声音系统教程的全部内容,更为复杂的功能将会有专门的声音系统使用教程带领您探索。
引擎官方网站:http://www.genesis-3d.com.cn/
官方论坛:http://bbs.9tech.cn/genesis-3d/
官方千人大群:59113309 135439306
YY频道-游戏开发大讲堂(完全免费,定期开课):51735288
Genesis-3D开源游戏引擎:游戏起源,皆因有我!!!
来源:oschina
链接:https://my.oschina.net/u/1432254/blog/194406