淡出&与Haxe& OpenFL

时间:2015-02-17 16:58:50

标签: haxe openfl

我正在使用Haxe和OpenFL的For Statement时钟来创建一个Fade In&淡化Bitmap对象的效果(使用alpha属性)。你有没有使用其他方法? 我使用的是For语句,而不是Sys.sleep(0.2);,因为它会生成#34;正在加载"光标图标和程序卡住了。 位图称为bmp,计时器为tmrSplash

来源:

tmrSplash.run = function changeAlpha(): Void {
    var f: Float = 1;
    while (f <= 1 && f >= 0) {
        bmp.alpha = f;
        var a: Int = 0;
        while (a < 500000000) {
            a++;
            if (a >= 500000000) {
                a = 0;
            }
            f -= 0.0005;
            trace(f);
        }
        tmrSplash.stop();

    }
}

谢谢。

1 个答案:

答案 0 :(得分:5)

为了手动淡出,您需要在舞台上收听ENTER_FRAME事件并随时更改值,而不是创建此无限循环。

但我建议你看一下补间引擎,比如Actuate,它简化了语法。你不想自己创建这样的东西,只需使用库来动画属性。 https://github.com/openfl/actuate

Actuate.tween (mySprite, 1, { alpha: 0 }); // fade out

生命太短暂,无法发明另一个补间引擎,不要浪费你的时间来建造这样的。