使用Haxe和OpenFL淡入淡出

Pha*_*tom 0 haxe openfl

我正在使用For StatementHaxe和OpenFL 的时钟,为Bitmap对象创建淡入和淡出效果(使用alpha属性).你有没有使用其他方法?我正在使用一个For语句,而不是Sys.sleep(0.2);因为它使一个"加载"光标图标,程序卡住了.调用位图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();

    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

Mar*_*nol 5

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

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

Actuate.tween (mySprite, 1, { alpha: 0 }); // fade out
Run Code Online (Sandbox Code Playgroud)

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