0

Unityでゲームを作っています。現在、2 つのレベルがあります。30秒までカウントして、時間が0になったら自動で次のレベルをロードしたいです。しかし、次のレベルが読み込まれると、ゲーム画面がフリーズして何も動かなくなります。次のレベルをロードするために使用した関数は次のとおりです (この関数は、新しいレベルをロードするときに破棄されない空のゲーム オブジェクトが運ぶスクリプトにあります)。

function loadNextlvl(){
        var cur_level = Application.loadedLevel;
        yield WaitForSeconds(5.0);
        Application.LoadLevel(cur_level + 1);
    }

私は何をすべきか?

4

1 に答える 1

0

私の Unity での作業は趣味によるものにすぎませんが、Application.LoadLevel を使用するたびに、ポインターではなくレベル名の文字列を渡しました。API から、int を受け取るためにオーバーロードされていることがわかりますが、おそらくテスト目的で、名前で呼び出して、それが機能するかどうかを確認してください。

また、使用するレベルを Unity に伝える必要があります。これは、ファイル メニューの [ビルド設定] で実行できます。

最後に、 を使用Application.levelCountして、レベルの境界内にいるかどうかを確認できます。

于 2012-04-17T13:35:17.063 に答える