Как уменьшить задержку addEvent в Phaser? - PullRequest
1 голос
/ 13 октября 2019

Я использую Phaser.io

Я делаю простую игру. Я хочу, чтобы мои «враги» падали с верхней части экрана:

    const enemies = this.physics.add.group();

    function enemyGen(){
      const xCoord = Math.random()*gameState.w;
      enemies.create(xCoord, 10, 'enemy');
    }

    const enemyGenLoop = this.time.addEvent({
      callback: enemyGen,
      delay: ......,
      callbackScope: this,
      loop: true
    })

Я хотел бы уменьшить задержку, когда игрок набирает определенный балл (который хранится в gameState.score).

Я думал о том, чтобы сохранить переменную в gameState.delay и затем обновить ее из update (). Проблема в том, что даже если gameState.delay изменен, addEvent по-прежнему использует предыдущее значение gameState.delay.

1 Ответ

1 голос
/ 13 октября 2019

Вы можете сохранить addEvent delay в переменной и впоследствии установить для нее другое значение, например:

  • Первая , сохраните addEvent delay в переменной.
delayTimer = this.time.addEvent({
    delay: 2000,
    callback: ()=>{
        // calls a function here
    },
    loop: true
})
  • Секунда , установите параметр задержки на другойзначение.
delayTimer.delay = 1000;
...