2017-11-13 10 views
0

私は最初のゲームのレベル選択シーンを作成中です。インターネット上でここを見た後、私はレベル選択がゲームの別の場面であることに気付きました(私が握っていれば私を訂正してください)。Unity3D:非常に長いレベルのシーンを作成する

マイゲームには1000以上のレベルがあります。だから私のレベル選択シーンは非常に長くなる(垂直)。

さらに、私はTwoDotsや "Angry birds Action"のようないくつかのゲームはすべてのレベルを読み込まないことを観察しています。そして、私はこの長いシーンを読み込むのが遅くなると思っています。代わりに、現在のプラス20または30レベル、および現在のマイナス20または30レベルをロードします。上にスクロールすると、新しいレベルがロードされ、以前のレベルがアンロードされます。

次の画像では、前のレベルにスクロールしていて、前の30レベルを表示した後、下の小さなローディングに移動します(下の画像の下にローディングバーがあり、トップ30をアンロード)、さらにレベルをロードします。これを達成するために行われるべきである何

enter image description here

は、あなたがあなたのレベルで複数のシーンを使用して、プレイヤーがSceneManager.LoadSceneAsync("SceneName", LoadSceneMode.Additive)経由でそれらを見たいと思ってたら、それらを読み込むことができますあなたに

+0

申し訳ありませんが、これはあまりにもstackoverflowのための広範な方法です。 – George

答えて

0

ありがとうございます。それ以外の場合は、スクロールのパフォーマンスを高めることが重要です。スクロールビューでは多くの再描画が行われますが、オーバーヘッドをほとんど発生させるためにカメラを実際に移動する必要があります。スクロールビューを使用する場合は、マスクの代わりにrectMask2Dを使用して、プレーヤビューにないすべてのものを簡単に取り除くことができます(ドローコールが少なくなります)。

また、ゲームオブジェクトを有効または無効にする、またはマップを表すゲームオブジェクトのプールを持つことも考えてください。オブジェクトのプールでは、ゴミを作成しないようにします。

関連する問題