【问题标题】:How do I pause multiple timer loops in haxeflixel then run them when i unpuase如何在 haxeflixel 中暂停多个计时器循环,然后在我取消暂停时运行它们
【发布时间】:2021-12-11 11:58:12
【问题描述】:

我正在修改一款名为 Friday Night Funkin'(HaxeFlixel 制造)的游戏,而且每当你打错音符时,我都会消耗健康。现在的问题是,每当我暂停(暂停子状态)时,计时器循环都会继续运行。 现在我想知道 是否有办法暂停多个计时器循环,然后再取消暂停它们。我对编码还是很陌生,所以我的功能非常基础:

    function HealthDrain():Void { 
            new FlxTimer().start(0.01, function(tmr:FlxTimer) {
                if (healthBar.percent >= 5)
                    health -= 0.0025;
            }, 300);
    } 

我不知道该怎么做

【问题讨论】:

    标签: haxe haxeflixel


    【解决方案1】:

    设置一个变量作为你的计时器对象...

    public var healthTimer:FlxTimer;

    然后,在您的函数中,您可以执行以下操作:

    function HealthDrain():Void { 
      healthTimer = new FlxTimer().start(0.01, function(tmr:FlxTimer) {
          if (healthBar.percent >= 5)
              health -= 0.0025;
          }, 300);
    }
    

    ..并且从您班级中的任何其他函数通过healthTimer访问该计时器

    【讨论】:

    • 您好,感谢您让我知道如果该计时器的多个版本同时运行,我将如何执行此操作。另外,当它暂停但崩溃时,我尝试将计时器活动设置为 false(使用 Var)。
    • 你不可能真正拥有同一个FlxTimer 的“多个版本”...
    • 有很多方法可以做你想做的事——我会看看提到FlxTimer的HaxeFlixel备忘单:haxeflixel.com/documentation/cheat-sheetFlxTimer本身的API:@ 987654322@ 至于您的崩溃,这将取决于实际错误是什么......例如,如果计时器已经完成并在您尝试暂停/取消暂停时被删除,它可能会“崩溃”。 ...或者可能还有一百万个其他东西。
    猜你喜欢
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多