2012-04-17 4 views
0

私はUnityでゲームを作っています。現在、2つのレベルがあります。私は30秒に数えます、時間が0になると、私は次のレベルを自動的にロードしたいと思います。しかし、次のレベルがロードされると、ゲーム画面がフリーズし、何も移動できません。私は次のレベルをロードするために使用される関数は、(この機能は、新しいレベルのロード時に破壊されることはありません空のゲームオブジェクトを運ぶスクリプトである)以下、次のとおりです。次のレベルをロードする

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

私は何をすべきでしょうか?
ありがとうございます。

+1

ユニティタグはMicrosoft Unity用です。それを悪用しないでください。 –

答えて

0

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

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

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

+0

ビルドの設定も整理しましたが、問題はそうではないと思います。同じスクリプトで、私はこの関数を使用しています: 関数Awake(){ DontDestroyOnLoad(gameObject); } これが問題の原因ですか? – Predoryx

+0

ありがとう、私は私の問題を解決した。私は同じゲームオブジェクトを他のシーンにコピーし、次のレベルを適切にロードしました。 – Predoryx

関連する問題