Unity3D OnGUI函数控制音乐


首先,在Unity3D里,选中你想要添加音乐的对象(gameObject)(在Scene view或Hierarchy view里选择)。选中后,在上方的菜单栏里点击Component -> Audio -> Audio Source。这样,在Inspector view里面,就能看到Audio Source组件了。你想播放什么音乐,就把什么音乐直接从别的地方拖拽到Project view。然后再从Project view拖放到Audio Source组件上面的Audio Clip里。接着启动游戏。嘿嘿,帅吧,Begin music~~~。

从别的文件夹或位置拖拽到Project view之后的截图。

从Project view拖放到Audio Source组件上面的Audio Clip里之后的截图。

嘿嘿,还没完,这不还没有说到主题嘛--控制音乐~~~嘻嘻,咱直接看上面这张Inspector的图哈。刚才开始游戏后,马上就播放了音乐。这是因为图中Play On Awake这个CheckBox上打了勾。至于为什么嘛,顾名思义嘛,“在叫醒(Awake在Unity里是初始化的意思)的时候播放”。现在我们点一下这个勾,去掉它。然后在Project view里面创建一个代码,把代码拖放到之前被添加音乐的对象(gameObject)上(怎么给对象添加脚本代码,具体见另一篇文章  )。然后编辑代码如下:(以下为C#代码)

  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class AudioControl : MonoBehaviour {  
  5.   
  6.     // Use this for initialization   
  7.     void Start () {  
  8.       
  9.     }  
  10.       
  11.     // Update is called once per frame   
  12.     void Update () {  
  13.       
  14.     }  
  15.   
  16.     void OnGUI() {  
  17.     // 这个函数会自动触发,在游戏界面上启动按钮之类的用户界面。   
  18.     // 下面的代码就顾名思义的吧。自己尝试一下就知道了。   
  19.           
  20.         if (GUI.Button(new Rect(0, 60, 100, 50), "Play"))  
  21.             audio.Play();  
  22.           
  23.         if (GUI.Button(new Rect(0, 120, 100, 50), "Pause"))  
  24.             audio.Pause();  
  25.           
  26.         if (GUI.Button(new Rect(0, 180, 100, 50), "Stop"))  
  27.             audio.Stop();  
  28.     }  
  29. }  

相关内容