SusanLulu
7/9/2018 - 11:54 AM

加音效 Audio[Unity C#]

參考來源:http://cookieliu.blogspot.com/2013/09/unity3d_8277.html 優化音效內存:https://blog.csdn.net/u010698150/article/details/51479571 http://gad.qq.com/program/translateview/7165599

步驟: GameObject -> CreateEmpty 创建成功后我命名为audio。 给audio添加一个AudioSource属性,这个属性非常的重要,Unity播放音乐主要就是要靠这个东西。 Component -> Audio – > Audio Source。 找一个音乐文件,将它拖动到右侧Audio Clip处。

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

using UnityEngine;
using System.Collections;

public class audio : MonoBehaviour {

    //音乐文件
    public AudioSource music;
    //音量
    public float musicVolume; 

    void Start() {
      //设置默认音量
      musicVolume = 0.5F;
    }
 void OnGUI() {

  //播放音乐按钮
  if (GUI.Button(new Rect(10, 10, 100, 50), "Play music"))  {

   //没有播放中
   if (!music.isPlaying){
    //播放音乐
    music.Play();
   }

  }

  //关闭音乐按钮
  if (GUI.Button(new Rect(10, 60, 100, 50), "Stop music"))  {

   if (music.isPlaying){
    //关闭音乐
    music.Stop();
   }
  }
  //暂停音乐
  if (GUI.Button(new Rect(10, 110, 100, 50), "Pause music"))  {
   if (music.isPlaying){
    //暂停音乐
    //这里说一下音乐暂停以后
    //点击播放音乐为继续播放
    //而停止以后在点击播放音乐
    //则为从新播放
    //这就是暂停与停止的区别
    music.Pause();
   }
  }

  //创建一个横向滑动条用于动态修改音乐音量
  //第一个参数 滑动条范围
  //第二个参数 初始滑块位置
  //第三个参数 起点
  //第四个参数 终点
  musicVolume = GUI.HorizontalSlider (new Rect(160, 10, 100, 50), musicVolume, 0.0F, 1.0F);

  //将音量的百分比打印出来
  GUI.Label(new Rect(160, 50, 300, 20), "Music Volueme is " + (int)(musicVolume * 100) + "%");

  if (music.isPlaying){
   //音乐播放中设置音乐音量 取值范围 0.0F到 1.0
   music.volume = musicVolume;
  }
 }
}