因此,我的Phaser 3游戏要求每次在3秒到6秒之间随机延迟地调用函数生成。 这是我尝试过的:
Enemies = this.time.addEvent({
delay: Phaser.Math.Between(3000,6000),
loop: true,
callback: spawn,
callbackScope: this });
但是此代码不起作用。延迟仅随机选择一次,然后整个使用该值。
答案 0 :(得分:0)
您可以在your own link中看到一个oneShot timer
。您可以在衍生功能中使用它。
现在,当调用spawn()
时,将创建一个新的具有随机延迟的单拍定时器。然后计时器再次调用spawn()
...
function spawn() {
let delay = Phaser.Math.Between(3000,6000)
var timer = scene.time.delayedCall(delay, spawn, args, scope);
}
spawn()