2017-06-05 3 views
2

私のゲームセンに移行すると、巨大なラグがあり、FPSが非常に低くなります。私は私のシーンで持っている大きな画像に起因する事実を知っています。画像は資産からSkspritenodesのために使用されています。私は1つのシーンをループしています。プレーヤーが失ったとき、同じシーンに移行することによってゲームが再開します。とにかく、私は自分のイメージをメモリにロードし、永遠にそれらを保持するのではなく、ゲームセンに移動するたびに削除して読み込むことができますか?シーンをより良い状態にするためにファイルをメモリにロードするには?

テクスチャとアトラスのプリロードをお勧めする場合は、プリロードコードの使用方法と場所について具体的に記述してください。またどのようにアトラスのテクスチャを設定して使用するか。私はすでにこの方法を試していますが、残念ながらそれは動作しません。おそらく私はそれを間違っていると思います。

ありがとう、

+0

は、https://stackoverflow.com/questions/38601845/slow-skscene-transition/38730129#を参照してください38730129 –

+0

私はそれを試みましたが、うまくいきません。私はそれを使用しない場合、私は同じ結果を得る。 – Yraw

+0

いつpreloadGameScene()を呼び出しますか? –

答えて

0

読み込みを分割する複数の方法があります。ここに私の頭の中にポップ一つです:あなたは非同期モードでは、あなたのシーンをロードすることができ

class Scened: SKScene { 

    var needsLoading = false 

    func loadChunk1() {} 
    func loadChunk2() {} 
    func loadChunk3() {} 
    func loadChunk4() {} 
    func loadChunk5() {} 

    override func didMove(to view: SKView) { 
    if needsLoading { loadChunk1() } 
    } 
    override func didEvaluateActions() { 
    if needsLoading { loadChunk2() } 
    } 
    override func didSimulatePhysics() { 
    if needsLoading { loadChunk3() } 
    } 
    override func didApplyConstraints() { 
    if needsLoading { loadChunk4() } 
    } 
    override func didFinishUpdate() { 
    if needsLoading { 
     loadChunk5() 
     // Disable loading after the last chunk: 
     needsLoading = false 
    } 
    } 
} 

enter image description here

関連する問題