单例模式,实现音效管理类

xiaoxiao2025-08-16  11

音乐是游戏的灵魂,恰当的音效能给玩家正反馈。利用单例模式,实现音效管理类,简洁实用。只需要在触发音效时用AudioManager._instance.播放具体音效的函数();

比如 if (Input.GetKey(KeyCode.K))         {                 AudioManager._instance.PlayAttack();//播放攻击音效             }

 

using System.Collections; using System.Collections.Generic; using UnityEngine;

public class AudioManager : MonoBehaviour {     public static AudioManager _instance;     private AudioSource audio;

    public AudioClip coin;     public AudioClip ruby;     public AudioClip flower;     public AudioClip jump;     public AudioClip attack;     public AudioClip block;     public AudioClip death;     public AudioClip enemyDeath;     public AudioClip background;     public AudioClip victory;     public AudioClip defeat;

    void Awake() {         _instance = this;         audio = GetComponent<AudioSource>();     }     //金币     public void PlayCoin()     {         audio.PlayOneShot(coin);     }     //宝石     public void PlayRuby()     {         audio.PlayOneShot(ruby);     }     //花     public void PlayFlower()     {         audio.PlayOneShot(flower);     }     //跳跃     public void PlayJump()     {         audio.PlayOneShot(jump);     }     //砖块     public void PlayBlock()     {         audio.PlayOneShot(block);     }     //光波     public void PlayAttack()     {         audio.PlayOneShot(attack);     }     //死亡     public void PlayDeath()     {         audio.PlayOneShot(death);     }     //怪物死亡     public void PlayEnemyDeath()     {         audio.PlayOneShot(enemyDeath);     }     //胜利     public void PlayVictory()     {         audio.PlayOneShot(victory);     }     //失败     public void PlayDefeat()     {         audio.PlayOneShot(defeat);     }     //背景     public void PlayBackground()     {         audio.PlayOneShot(background);     } }

 

 

如果文章对你有帮助,请她喝杯奶茶吧~

转载请注明原文地址: https://www.6miu.com/read-5034922.html

最新回复(0)