FlxSprite のアルファを繰り返し更新してフェードアウトさせると、奇妙なことが起こります。完全にフェードアウトするのに 150 秒かかるのではなく (実際には 15 秒かかります)、おそらく 2 秒かけてフェードアウトします。実際のアルファ値をトレースしてみましたが、アルファ値が約 0.95 (不透明度 95%、つまりわずかに透明) の場合、スプライトは見えません。
Flixelでアルファを適切に機能させる方法を知っている人はいますか?
override public function update():void {
lifespan += FlxG.elapsed;
if (lifespan > 3) {
alpha = (1 - ((lifespan - 3) / 150)); // <--- this line
}
if (alpha < 0.01) {
State.s.remove(this, true);
}
super.update();
}