openflのプリローダーの基本クラスとして組み込みのNMEPReloaderを使用しています。preloaderでのOpenFLアニメーションは、常に最初にステルスする
class AttractAnimation extends Sprite
{
var currentFrame:Int;
var previousFrame:Int;
var bitmapFrames:Array<Bitmap>;
var loadScreenTimer:Timer;
public function new()
{
super();
currentFrame = 0;
previousFrame = -1;
bitmapFrames = new Array<Bitmap>();
}
public function assignBitmapData(bitmapData : Array<BitmapData>){
for(bmap in bitmapData){
var frame = new Bitmap(null, flash.display.PixelSnapping.AUTO, true);
frame.bitmapData = bmap;
pushFramesAsBitmap(frame);
}
}
public function pushFramesAsBitmap(frameAsBitmap:Bitmap) {
bitmapFrames.push(frameAsBitmap);
frameAsBitmap.visible = false;
addChild(frameAsBitmap);
}
public function startAnimation(fps:Int) {
var milliseconds:Float = 1000/fps;
loadScreenTimer = new Timer(milliseconds, 10);
loadScreenTimer.addEventListener(TimerEvent.TIMER, updateAnimation);
loadScreenTimer.start();
}
private function updateAnimation(e : TimerEvent):Void {
if (currentFrame > bitmapFrames.length -1) { currentFrame = 0; }
if (previousFrame != -1) {
bitmapFrames[previousFrame].visible = bitmapFrames[previousFrame].__combinedVisible = false;
}
bitmapFrames[currentFrame].visible = bitmapFrames[currentFrame].__combinedVisible = true;
previousFrame = currentFrame;
currentFrame++;
}
}
は何イム私はplayAnimationそれは本当に悪い吃音で呼び出すときに見て、私はアニメーションを再生次回はそれがスムーズに演じて何Imはフレームでアニメーションフレームを再生していること
。
アルファを0に設定してアニメーションを再生しようとしましたが、1に戻して再生していましたが、この場合は2回目は吃音になります。
同じ私は別の表示オブジェクトの後ろに移動する場合、アニメーションを再生し、それを描画順序の前面に移動すると、それはもう一度吃音になります。
私はそれが吃音せずにこのアニメーションを再生できる方法はありますか?
ありがとうございました。画像のスプライトシートを使って解決できました。私は行って、提供されたソリューションを使用しました。 –
私はあなたのEnterFrameイベントの実装にもよく切り替えるでしょう –