C# Unity在if语句中等待
如果有if语句,我如何等待?我需要时间让音频文件播放C# Unity在if语句中等待,c#,unity3d,wait,C#,Unity3d,Wait,如果有if语句,我如何等待?我需要时间让音频文件播放 void OnTriggerEnter2D(Collider2D other) { if (other.gameObject.tag == "Player") { audio.Play(); // yield return new WaitForSeconds(.5f); gameObject.SetActive(false); } } 你可以做一些非常“狡猾”的事情,
void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.tag == "Player")
{
audio.Play();
// yield return new WaitForSeconds(.5f);
gameObject.SetActive(false);
}
}
你可以做一些非常“狡猾”的事情,比如:
void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.tag == "Player")
{
audio.Play();
float timer = 0;
do{timer += Time.deltaTime;}while(timer != 1)
gameObject.SetActive(false);
}
}
但我建议您在更新循环中实际跟踪音频的进度,例如:
if (!audio.isPlaying) { //Audio playing }
或
希望这有帮助
忘记链接
audio.isPlaying
=
audio.time
=谢谢“如果(!audio.isplay)”引用当前游戏对象还是所有音频?仅供参考,我刚刚开始学习uniy和c#如果你想看到它的@deathvenomstudios.com的进展,它不会引用所有音频。(我添加了一些链接,这可能也会有所帮助)
if(audio.time > 1) { //Audio has been playing for more than one second }