如何不为函数添加延迟
How to not add a delay to a function
我是 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);
但是下一层根本不显示。不确定我是否是个白痴等,但是在这件事上任何帮助都会很棒。
再次说明一下,延迟效果很好,我想完全摆脱那个功能,但它根本不起作用。
谢谢。
time.events.add
将向 Phaser 游戏对象添加一个事件。换句话说,它将在 X 毫秒后触发给定的函数。
如果你不想延迟那么你可以直接调用函数,而不是推迟函数调用。像这样:
if (!this.rockmodel.countLiving()) {
this.levelIncrease();
}
我是 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);
但是下一层根本不显示。不确定我是否是个白痴等,但是在这件事上任何帮助都会很棒。
再次说明一下,延迟效果很好,我想完全摆脱那个功能,但它根本不起作用。
谢谢。
time.events.add
将向 Phaser 游戏对象添加一个事件。换句话说,它将在 X 毫秒后触发给定的函数。
如果你不想延迟那么你可以直接调用函数,而不是推迟函数调用。像这样:
if (!this.rockmodel.countLiving()) {
this.levelIncrease();
}