Application.LoadLevel在Unity3d中不起作用

本文关键字:不起作用 Unity3d LoadLevel Application | 更新日期: 2023-09-27 18:28:19

我有个问题。现在我在Unity开发游戏,条件是2分。我想等十秒钟,然后再做代码更改场景(Application.LoadLevel)(我正在使用C#进行开发)

但当score=2时,此代码将变为"scenea_5"它等不了十秒钟

void OnTriggerEnter( Collider collider ){
    if (collider.name == front_hztleft) {
        audio.Play ();
    }
    if (collider.name == left_hztleft) {
        audio.Play ();
        score ++;
        Debug.Log (string.Format (scoreSyntax, score));
        endtime = DateTime.Now.ToString("HH:mm:ss");
        InsertResult(); 
    }

    if (score == 2) { 
        StartCoroutine(Waiting());
        Application.LoadLevel("scene_a5");
    }
}
IEnumerator Waiting()
{
    yield return new WaitForSeconds (10);
}

它可以运行和编译并非没有错误。

Application.LoadLevel在Unity3d中不起作用

将场景加载放入Coroutine中。

 yield return new WaitForSeconds(10);
 Application.LoadLevel("scene_a5");