详解游戏开发音频的播放

游戏音频的播放在任何游戏中都占据很是重要的地位,音频的播放还能够分为两种,一种为游戏音乐,另外一种为游戏音效。前者适用于较长的音乐,如游戏背景音乐。第二种试用与比较短的游戏音乐,如开枪,打怪 时“砰砰”一瞬间播放的游戏音效。今天MOMO将用下面的例子带盆友们去剖析Unity3D游戏音乐与音效的播放。

Unity3D游戏引擎一共支持4个音乐格式的文件 ide

.AIFF  适用于较短的音乐文件可用做游戏打斗音效 oop

.WAV  适用于较短的音乐文件可用做游戏打斗音效 ui

.MP3  适用于较长的音乐文件可用做游戏背景音乐 .net

.OGG  适用于较长的音乐文件可用做游戏背景音乐 对象

在场景中建立一个空的游戏对象。 游戏

GameObject -> CreateEmpty  建立成功后我命名为audio。 ip

给audio添加一个AudioSource属性,这个属性很是的重要,Unity播放音乐主要就是要靠这个东西。 get

Component -> Audio – > Audio Source。 it

找一个音乐文件,我这里使用了一个.mp3音乐文件,我命名为0.mp3 以下图所示将它拖动到右侧Audio Clip处。 io

咱们发现 Audio Source 有不少设置的属性,那么MOMO将一些比较重要的属性诺列出来。


AudioClip :声音片断,还能够在代码中去动态的截取音乐文件。

Mute : 是否静音

Bypass Effects: 是否打开音频特效

Play On Awake: 开机自动播放

Loop:循环播放

Volume: 声音大小,取值范围0.0 到 1.0

Pitch:播放速度,取值范围在 -3 到 3 之间 设置1 为正常播放,小于1 为减慢播放 大于1为加速播放。建立一个脚本我命名为audio.cs 用来音乐的播放。本章将实现3个按钮 点击实现 播放音乐、 中止音乐、 暂停音乐 ,与一个横向拖动条经过手指的拖动实现动态修改音乐声音。

audio.cs

01 usingUnityEngine;
02 usingSystem.Collections;
03
04 publicclassaudio : MonoBehaviour {
05
06    //音乐文件
07    publicAudioSource music;
08    //音量
09    publicfloatmusicVolume;  
10
11    voidStart() {
12         //设置默认音量
13         musicVolume = 0.5F;
14    }
15    voidOnGUI() {
16
17        //播放音乐按钮
18        if(GUI.Button(newRect(10, 10, 100, 50),"Play music"))  {
19
20            //没有播放中
21            if(!music.isPlaying){
22                //播放音乐
23                music.Play();
24            }
25
26        }
27
28        //关闭音乐按钮
29        if(GUI.Button(newRect(10, 60, 100, 50),"Stop music"))  {
30
31            if(music.isPlaying){
32                //关闭音乐
33                music.Stop();
34            }
35        }
36        //暂停音乐
37        if(GUI.Button(newRect(10, 110, 100, 50),"Pause music"))  {
38            if(music.isPlaying){
39                //暂停音乐
40                //这里说一下音乐暂停之后
41                //点击播放音乐为继续播放
42                //而中止之后在点击播放音乐
43                //则为重新播放
44                //这就是暂停与中止的区别
45                music.Pause();
46            }
47        }
48
49        //建立一个横向滑动条用于动态修改音乐音量
50        //第一个参数 滑动条范围
51        //第二个参数 初始滑块位置
52        //第三个参数 起点
53        //第四个参数 终点
54        musicVolume = GUI.HorizontalSlider (newRect(160, 10, 100, 50), musicVolume, 0.0F, 1.0F);
55
56        //将音量的百分比打印出来
57        GUI.Label(newRect(160, 50, 300, 20),"Music Volueme is "+ (int)(musicVolume * 100) +"%");
58
59        if(music.isPlaying){
60            //音乐播放中设置音乐音量 取值范围 0.0F到 1.0
61            music.volume = musicVolume;
62        }
63    }
64 }

将audio.cs 绑定在摄像头上,将audio游戏对象拖动赋值给Music 这个AudioSource这个对象。这里强调一下AudioListenr ,它音频监听器,用来监听音乐文件的播放。这是一个重要的属性,必定要勾选,只有勾选后才能够进行音乐的播放。

build and run 运行咱们这个游戏Demo,一切功能完美实现,哇咔咔~

相关文章
相关标签/搜索