【问题标题】:Fade In & Out with Haxe & OpenFL使用 Haxe 和 OpenFL 淡入淡出
【发布时间】:2023-03-25 23:46:01
【问题描述】:

我正在使用带有 Haxe 和 OpenFL 的 For Statement 时钟来为位图对象创建淡入淡出效果(使用 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();

    }
}

谢谢。

【问题讨论】:

    标签: haxe openfl


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢您的回答。浏览后(在您提供的链接中)我现在正在使用这个库......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    • 2012-07-27
    相关资源
    最近更新 更多