如何不向函数添加延迟

时间:2016-05-03 21:11:36

标签: javascript phaser-framework

我是JavaScript的新手并遵循这个tutorial我已经让游戏完美地运行了,当你摧毁所有对象时,它的等级变化了。然而,正如我正在学习的那样,我正在试图弄清楚如何使它变得水平而不会有任何延迟。

切换级别的位的主要部分是:

if (!this.rockmodel.countLiving()) {
    Asteroid.time.events.add(Phaser.Timer.SECOND * gameWindow.delayToStartLevel, this.levelIncrease, this);
}

但是如果我取出delayToStartLevel位,它就不会切换级别。所以我试着让它看起来像这样:

Asteroid.time.events.add(this.levelIncrease, this);

但是下一个级别根本没有显示。我不确定自己是不是白痴等,但对此事的任何帮助都会很棒。

再次只是为了说明一点,它在延迟时工作正常,我想彻底摆脱这个功能,但它根本不起作用。

感谢。

1 个答案:

答案 0 :(得分:1)

time.events.add会向Phaser游戏对象添加一个事件。换句话说,它将在X毫秒后触发给定的函数。

如果您不想延迟,那么您可以直接调用该函数,而不是推迟函数调用。像这样:

if (!this.rockmodel.countLiving()) {
    this.levelIncrease();
}