2016-04-20 42 views
0

私のメインメニューがあります。ゲームが始まると、シーンを表示するのに2〜12秒かかります。この間はすべてが静止しており、ユーザーはアプリケーションがハングしたりクラッシュしていると思うかもしれません。Unityで読み込み画面を作る方法、シーンが完全に読み込まれたかどうかを調べることができます

単純な画面を追加したいのですが(キャンバスを使用し、その上にテキストを読み込んで簡単なアニメーションを配置することはできますが)、実際にロードされたシーンをどのように伝えることができません。

デリゲート "OnLevelWasLoaded"を試しました。そこで実行されているコードが、画面上のすべてが「ポップ」してアプリケーションを使い始めることができるため、必ずしも起こっているわけではありません。

タイムド機能を追加しようとしましたが、シーンがロードされたかどうかを知る方法がないため、完全に偽です。したがって、一部のマシンでは高速になる可能性があります。ローディングキャンバス;私はあまりにも短い場合、シーンが完全に読み込まれないと、私は再び凍った画面を表示することに終わるだろう。

OnLevelWasLoadedに加えて、シーンがロードされたときに傍受するために使用することができます何かありますか?

答えて

1

あなたは使用することができます。

SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Single); 

LoadSceneAsync戻りますが、コルーチンで使用できるAsyncOperationを。ここで

あなたはより詳細な情報を見つけることができます:Doc

だから、これは読み込みが完了すると、あなたがチェックできるようにする、非同期的に適切なレベルをロードするために開始しますロードシーンを追加することができます。

+0

私は、非同期がUnityでも無料であることに気付きませんでした。私はそれを試してみましょう、返信のおかげで。 –

関連する問題