using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class AudioManager : MonoBehaviour { public AudioClip button; public AudioClip coin; public AudioClip getitem; public AudioClip slide; public AudioClip hit; public static AudioManager instance; public Sprite soundOnSprite; public Sprite soundOffSprite; public Image soundImage; private void PlayAudio(AudioClip clip) { if(GameAttribute.instance.soundOn) AudioSource.PlayClipAtPoint(clip, PlayController.instance.transform.position); } public void SwichSound() { GameAttribute.instance.soundOn = !GameAttribute.instance.soundOn; soundImage.sprite = GameAttribute.instance.soundOn ? soundOnSprite : soundOffSprite; } public void PlayButtonAudio() { PlayAudio(button); } public void PlayCoinAudio() { PlayAudio(coin); } public void PlayGetItemAudio() { PlayAudio(getitem); } public void PlaySlideAudio() { PlayAudio(slide); } public void PlayHitAudio() { PlayAudio(hit); } // Use this for initialization void Start () { instance = this; } // Update is called once per frame void Update () { } }
时间: 2024-02-14 16:20:01 浏览: 86
C#关于System.Collections空间详解
这是一个用于播放音效的脚本,主要包含以下几个部分:
1. 定义了需要使用的音效,包括按钮音效、金币音效、道具获取音效、滑动音效和碰撞音效。
2. 定义了一个静态变量 instance,用于存储 AudioManager 实例,方便其他脚本访问。
3. 定义了 PlayAudio 方法,用于播放音效。该方法会根据 GameAttribute.instance.soundOn 的值来判断是否开启音效,如果开启则使用 AudioSource.PlayClipAtPoint 方法播放音效。
4. 定义了 SwichSound 方法,用于切换开关音效。该方法会将 GameAttribute.instance.soundOn 的值取反,并根据其值来切换音效图片。
5. 定义了 PlayButtonAudio、PlayCoinAudio、PlayGetItemAudio、PlaySlideAudio 和 PlayHitAudio 方法,用于播放对应的音效。
6. 在 Start 方法中,将 AudioManager 实例赋值给 instance 变量。
7. Update 方法为空,不做任何操作。
该脚本可以通过其他脚本来调用其中的方法,从而实现播放对应的音效。
阅读全文