使用 Haxe 和 OpenFL 淡入淡出

Fade In & Out with Haxe & OpenFL

我在 Haxe 和 OpenFL 中使用 For Statement 时钟,为位图对象创建淡入淡出效果(使用 alpha 属性)。你有使用其他方法吗? 我正在使用 For 语句而不是 Sys.sleep(0.2);,因为它会生成 "Loading" 光标图标并且程序会卡住。 位图称为 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();

    }
}

谢谢。

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

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

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

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