注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本

声音

众所周知,声音系统是一个游戏中非常重要的组成部分,优秀的游戏音乐是许多玩家能够长时间享受其中的重要因素。因此,熟悉和使用声音系统是一个游戏制作者的必修功课,本篇文档将为大家介绍声音系统中一些简单按键的功能和使用方法,以及实现用脚本控制音乐的播放。

一、声源组件的按钮介绍

1.创建声音。在Genesis-3D中,有两种创建声音的方法,本质上没有区别。一是点击场景树中的创建按钮,选择栏目中的声音一项。如图所示


genesis脚本开发 genesis脚本教程_Code

方法二是在场景树中右键点击任一actor,选择栏目中的组件,在组件栏目中点击音源。如图所示


genesis脚本开发 genesis脚本教程_Code_02

2.在音源面板添加音频。当我们使用上述两种方法创建声音之后,便可以在属性栏看到音源面板,我们需要在资源管理器中导入音乐文件,然后在音频面板中点击

genesis脚本开发 genesis脚本教程_3D_03

,可以添加音频。如图所示

genesis脚本开发 genesis脚本教程_3D_04

 

3.自动播放与循环播放。假如你希望这个音乐一直作为背景音乐重复播放,那么就应点击下方的自动播放与循环播放按钮。假如你想要用脚本控制音乐的播放便不应该勾选这两项,如图所示


genesis脚本开发 genesis脚本教程_genesis脚本开发_05

4.音量与音调。可以在播放音乐的同时调节它们来达到最佳效果。如图所示


genesis脚本开发 genesis脚本教程_Code_06

5.声音类型。声音类型中有一个卷展栏,其中的选项是2D、3D。它们的区别是:选择2D类型时,listener收听的声音从始至终保持一致。当选择3D类型时,listener接收到的声音大小会根据其与音源之间的距离来判定。因此开发者需要根据不同的场景来设置声音类型。如图所示


genesis脚本开发 genesis脚本教程_音乐播放_07

二、脚本控制声音的播放

1.创建sound脚本,拖拽到场景中的声音系统上。如图所示


genesis脚本开发 genesis脚本教程_音乐播放_08


genesis脚本开发 genesis脚本教程_3D_09

2.编写代码。在脚本中写下如下代码,即可以实现按下P键控制音乐播放,按下S键控制音乐停止

	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键来控制音乐播放了。