2017-02-16 47 views
0

すでにロードされている可能性があるPIXIのテクスチャの読み込みを処理しようとしています。 PIXIは、同じ名前のものを2回ロードしようとすると、エラーをスローします。常にテクスチャキャッシュをリセットするのは解決策のようではありません。ここでPIXI.jsにテクスチャを複数回ロードする

は、私はそれをやろうとしている方法は次のとおりです。

resources_to_load = (texture for texture in @textures(item) when !PIXI.loader.resources[texture]) 
if resources_to_load.length > 0 
    PIXI.loader.add(resources_to_load).load setup 
else 
    setup() 

私がいる問題は、私は、各スプライトのためのテクスチャをロードしていたとき、私は内にエントリを持つすべてのテクスチャをフィルタリングということですローダーのリソースオブジェクトしかし、スプライトの中には、resources_to_loadの空の配列を残すものがあります。

空の[]を追加しようとすると、コールバックが呼び出されないように見えます。だから私は空であるかどうかを確認するために自分のチェックを持っていて、空であればセットアップを呼び出します。しかし、テクスチャにアクセスしようとすると、エラーがスローされます。まだ実際にテクスチャの読み込みが完了していないためだと思います。

は、だから私は、テクスチャが実際にロードを完了しただけでセットアップを呼び出すための方法を把握しようとしているが、私は

答えて

0

は、うーん...あなたはどのように使用できるかを見逃してなかった多くの幸運を持っていませんよローダー、例えばドキュメント内:http://pixijs.download/release/docs/PIXI.loaders.Loader.html?それは基本的に答えを提供しますか?私は下に少し詳しく説明します。

この部分の意味は次のとおりです。loader.once( 'complete'、onAssetsLoaded);

基本的には、ロードするすべてのリソースを設定することができます。 loader.add( 'name'、 'http://domain.com/image.png'); 次に、コールバックを次のように設定します。 loader.once( 'complete'、onAssetsLoaded); 最後に、ローダーに画像のロードを開始するよう指示します。 loader.load(); 読み込みが完了すると、コールバックが実行されます。

ローダーの複数のインスタンスを作成し、異なるパッチでイメージをロードすることができます。

関連する問題