Unity轮流播放背景音乐

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

/// 
/// 控制所有音乐的管理类
/// 
public class AudioManager : MonoBehaviour
{
    //将要轮流播放的音乐组
    public AudioClip[] audioGroup;

    //当前播放的是谁
    private int playingIndex;

    //是否允许播放音乐
    private bool canPlayAudio;

    //AudioSource组件
    private AudioSource audioSource;

    //-----------------------------------------------------

    void Start()
    {
        audioSource = this.GetComponent();

        canPlayAudio = true;

        playingIndex = 0;
    }

    //-----------------------------------------------------

    void Update()
    {
        if (canPlayAudio)
        {
            PlayAudio();

            canPlayAudio = false;
        }

        if (!audioSource.isPlaying)
        {
            playingIndex++;

            if (playingIndex >= audioGroup.Length)
            {
                playingIndex = 0;
            }

            canPlayAudio = true;
        }
    }

    //-----------------------------------------------------

    private void PlayAudio()
    {
        audioSource.clip = audioGroup[playingIndex];
        audioSource.Play();
    }

    //-----------------------------------------------------
}

将这个脚本挂载到一个空物体上,并且给它添加 AudioSource 组件

你可能感兴趣的:(Unity)