スプライトシートからPIXI.extras.AnimatedSpriteを作成するのがベストプラクティスであることを理解するためには助けが必要です。私は現在、TexturePackerで作成された3つの中規模のスプライトシートを1つのアニメーション用に読み込み、すべてのフレームを収集してから再生します。しかし、初めてアニメーションを再生すると、非常に滑らかで、ほとんどの場合すぐに最後までジャンプし、その後は本当にスムーズに再生されます。私は少し読んで、私は2つの可能な原因を見ることができます。 1)ラグは、テクスチャをGPUにアップロードするのにかかる時間によって引き起こされる可能性があります。準備renderer.plugins.prepare.upload
と呼ばれるPIXIプラグインがあります。このプラグインは、再生前にアップロードして初期ループをスムーズにすることができます。 2)複数のテクスチャ/イメージからAnimatedSpriteを構築することは理想的ではなく、その原因になる可能性があります。PIXI.js最初の再生でAnimatedSpriteが遅れる
質問1:PIXI Prepareプラグインを使用する必要がありますか?もしそうなら、実際にどうすれば使用できますか?そのためのドキュメントは非常に限られています。
質問2:複数のテクスチャにまたがるフレームが悪い考えであるのですが、それが原因である可能性があります&なぜですか?
Aは私がやっているものの例要約:
function loadSpriteSheet(callback){
let loader = new PIXI.loaders.Loader()
loader.add('http://mysite.fake/sprite1.json')
loader.add('http://mysite.fake/sprite2.json')
loader.add('http://mysite.fake/sprite3.json')
loader.once('complete', callback)
loader.load()
}
loadSpriteSheet(function(resource){
// helper function to get all the frames from multiple textures
let frameArray = getFrameFromResource(resource)
let animSprite = new PIXI.extras.AnimatedSprite(frameArray)
stage.addChild(animSprite)
animSprite.play()
})
私はまったく同じ問題を抱えており、pixi.jsフォーラムでトピックを開始しました(そして、そこに私のコードがあります)。http://www.html5gamedevs.com/topic/28032-make-movieclip-from-several-atlases -and-play-it-whithout-lags /しかし、私はまだその質問に答えていないし、プラグインを準備することは動作していないようだ。 –
解決策を見つけたらここに投稿してください –
ただ私だけではなく、私はまだ良い解決策を見いだしていませんが、私は忙しいです。 – Brenwell