第二種試用與比較短的游戲音樂,如開槍,打怪 時“砰砰”一瞬間播放的游戲音效。今天MOMO將用下面的例子帶盆友們?nèi)テ饰鯱nity3D游戲音樂與音效的播放。
Unity3D游戲引擎一共支持4個音樂格式的文件
.AIFF 適用于較短的音樂文件可用作游戲打斗音效
.WAV 適用于較短的音樂文件可用作游戲打斗音效
.MP3 適用于較長的音樂文件可用作游戲背景音樂
.OGG 適用于較長的音樂文件可用作游戲背景音樂
在場景中創(chuàng)建一個空的游戲?qū)ο蟆?/p>
GameObject -> CreateEmpty 創(chuàng)建成功后我命名為audio。
給audio添加一個AudioSource屬性,這個屬性非常的重要,Unity播放音樂主要就是要靠這個東西。
Component -> Audio - > Audio Source。

找一個音樂文件,我這里使用了一個.mp3音樂文件,我命名為0.mp3 如下圖所示將它拖動到右側(cè)Audio Clip處。

我們發(fā)現(xiàn) Audio Source 有很多設(shè)置的屬性,那么MOMO將一些比較重要的屬性諾列出來。
AudioClip :聲音片段,還可以在代碼中去動態(tài)的截取音樂文件。
Mute : 是否靜音
Bypass Effects: 是否打開音頻特效
Play On Awake: 開機(jī)自動播放
Loop:循環(huán)播放
Volume: 聲音大小,取值范圍0.0 到 1.0
Pitch:播放速度,取值范圍在 -3 到 3 之間 設(shè)置1 為正常播放,小于1 為減慢播放 大于1為加速播放。
創(chuàng)建一個腳本我命名為audio.cs 用來音樂的播放。本章將實現(xiàn)3個按鈕 點擊實現(xiàn) 播放音樂、 停止音樂、 暫停音樂 ,與一個橫向拖動條通過手指的拖動實現(xiàn)動態(tài)修改音樂聲音。
audio.cs
[代碼]c#/cpp/oc代碼:
02 |
using System.Collections; |
04 |
public class audio : MonoBehaviour { |
07 |
public AudioSource music; |
09 |
public float musicVolume; |
18 |
if (GUI.Button(new Rect(10, 10, 100, 50), "Play music")) { |
21 |
if (!music.isPlaying){ |
29 |
if (GUI.Button(new Rect(10, 60, 100, 50), "Stop music")) { |
37 |
if (GUI.Button(new Rect(10, 110, 100, 50), "Pause music")) { |
49 |
//創(chuàng)建一個橫向滑動條用于動態(tài)修改音樂音量 |
54 |
musicVolume = GUI.HorizontalSlider (new Rect(160, 10, 100, 50), musicVolume, 0.0F, 1.0F); |
57 |
GUI.Label(new Rect(160, 50, 300, 20), "Music Volueme is " + (int)(musicVolume * 100) + "%"); |
60 |
//音樂播放中設(shè)置音樂音量 取值范圍 0.0F到 1.0 |
61 |
music.volume = musicVolume; |
將audio.cs 綁定在攝像頭上,將audio游戲?qū)ο笸蟿淤x值給Music 這個AudioSource這個對象。這里強(qiáng)調(diào)一下AudioListenr ,它音頻監(jiān)聽器,用來監(jiān)聽音樂文件的播放。這是一個重要的屬性,一定要勾選,只有勾選后才可以進(jìn)行音樂的播放。

build and run 運行我們這個游戲Demo,一切功能完美實現(xiàn),哇咔咔~
