我在编程一个简单的Unity 2d游戏,我想添加一些背景音乐,我有一个脚本,随机开始一个标题从播放列表,但当我重新加入主菜单场景的音乐游戏对象所在的地方,另一首歌曲开始播放(2首歌正在播放),但我希望只播放一首歌,第一首歌。当我重新加入主菜单场景时,我看到另一个音乐对象在那里创建。
下面是我代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MusicRandom : MonoBehaviour
{
[SerializeField] AudioClip[] myAudioClips;
AudioSource audioSource;
void Start()
{
DontDestroyOnLoad(gameObject);
audioSource = gameObject.GetComponent<AudioSource> ();
}
AudioClip RandomClip()
{
int randomNumber = Random.Range(0,myAudioClips.Length);
AudioClip randomClip = myAudioClips[randomNumber];
return randomClip;
}
void Update()
{
if (!audioSource.isPlaying) {
audioSource.clip = RandomClip();
audioSource.Play();
}
}
}
我尝试添加一个值来启动“audioSource = gameObject.GetComponent();“功能只有一次,但它不工作。
1条答案
按热度按时间zf9nrax11#
我发现了一种方法,游戏对象不重复