【发布时间】:2019-06-19 19:46:51
【问题描述】:
我正在为我的游戏制作行走声音,我希望它播放一个声音,然后等待播放下一个声音。当它在行走时,我只希望它在按下 w 时这样做。我一直在尝试使用 Enumerator 来执行此操作,但我遇到了无法启动该功能的问题。
private IEnumerator audioPlayCoroutine;
public AudioSource[] steps;
public AudioSource[] cabinSteps;
private bool running;
void Start()
{
running = false;
audioPlayCoroutine = AudioPlay();
}
void Update()
{
if (Input.GetKey("w"))
{
if (running == false)
{
running = true;
}
}
if (running == true)
{
StartCoroutine(audioPlayCoroutine);
}
else if (running == false)
{
StopCoroutine(audioPlayCoroutine);
}
}
IEnumerator AudioPlay()
{
int ran = Random.Range(0, 4);
steps[ran].Play();
yield return new WaitForSeconds(2);
}
【问题讨论】: