詳解遊戲開發音頻的播放

遊戲音頻的播放在任何遊戲中都佔據很是重要的地位,音頻的播放還能夠分爲兩種,一種爲遊戲音樂,另外一種爲遊戲音效。前者適用於較長的音樂,如遊戲背景音樂。第二種試用與比較短的遊戲音樂,如開槍,打怪 時「砰砰」一瞬間播放的遊戲音效。今天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,一切功能完美實現,哇咔咔~

相關文章
相關標籤/搜索