Unity3D--學習太空射擊游戲制作(四)


步驟七:添加聲音和特效(射擊聲音和爆炸效果)

01:在Project窗口單機右鍵,選擇Import Package->Custome Package,然后到資源文件目錄packages瀏覽unity包文件,選擇ShootingFX.unitypackage,將其打開,選擇Import導入到當前工程中,.unitypackage類型的文件是unity的專用資源包,在Project窗口選擇資源,如腳本、模型、聲音等然后右鍵選擇Export Package,可以將自己的東西到處為.unitypackage類型的包,可以多次在不同的項目中使用。

02:選擇主角的飛船游戲體,在菜單欄選擇Component->Audio->Audio Source為主角添加一個Audio Source組件,凡是需要發生的游戲體,必須有這個組件。然后在Player.cs腳本中添加如下代碼:

//射擊的聲音 后面將和音效文件關聯
    public AudioClip m_shootClip;
    //聲音源組件 用於播放聲音 
    protected AudioSource m_audio;
    //爆炸特效
    public Transform m_explosionFX;
 void Start()
    {
        m_transform = this.transform;
        m_audio = this.audio; //將聲音源組件指向實際的聲音源組件
    }
void Update()
{
  ......
         if (Input.GetKey(KeyCode.Space) || Input.GetMouseButton(0))
            {
                //Instantiate函數動態的創建子彈游戲體 發射子彈
                Instantiate(m_rocket, m_transform.position, m_transform.rotation);

                //播放聲音
                m_audio.PlayOneShot(m_shootClip);
            }
}
void OnTriggerEnter(Collider other)
    {
        if (other.tag.CompareTo("PlayerRocket") != 0)//如果主角與非己方子彈相撞
        {
            m_life -= 1;
            if (m_life <= 0)
            {
                //爆炸特效
                Instantiate(m_explosionFX, m_transform.position, Quaternion.identity);

                Destroy(this.gameObject);
            }
        }
    }

  03:選擇Player游戲體,在Project窗口的FX文件夾下分別找到shoot.WAV音效文件和Explosion.prefab爆炸特效文件,在Player組件中分別與m_ShootClip和m_ExplosionFX屬性關聯,如圖:

選擇爆炸特效的Prefab,為其添加一個Audio Source組件,然后在FX文件夾下找到explosion.WAV文件,將其指定到Audio Source組件,因為默認的Play On Awake選項是出於選中狀態的,所以當爆炸特效被實例化后,會自動播放爆炸的聲音。

然后為Enemy游戲體添加爆炸的特效。

步驟八:添加敵人生成器(生成無限敵人)

在當前的游戲中,只是隨意放了幾個敵人,消滅后就沒有了,我們需要創建多個敵人,使游戲可以一直玩下去。

01:

步驟九:添加游戲管理器

現在的游戲中還缺少顯示游戲信息的UI和游戲失敗的狀態提示,我們創建一個游戲管理器來處理這些東西。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM