Я пытаюсь запустить циклический таймер в Phaser следующим образом в функции create()
моего состояния Game.js
:
var jackpotTimer = new Phaser.Timer(this.game);
jackpotTimer.loop(500, function () {
this.jackpotSignal.dispatch(this.game.rnd,integerInRange(1000, 3000), this.game.rnd.integerInRange(10000, 20000));
}, this);
jackpotTimer.start();
Во время выполнения я получаю следующую ошибку:
phaser-split.js:56360 TypeError: Cannot read property 'time' of undefined
at 429.Phaser.Timer.start (phaser-split.js:48661)
at __webpack_exports__.a.initJackpotSocket (RGSCommunicator.js:31)
at __webpack_exports__.b.create (Game.js:117)
at 429.Phaser.StateManager.loadComplete (phaser-split.js:8143)
at 429.Phaser.Loader.finishedLoading (phaser-split.js:55895)
at 429.Phaser.Loader.processLoadQueue (phaser-split.js:55847)
at 429.Phaser.Loader.asyncComplete (phaser-split.js:55923)
at 429.Phaser.Loader.jsonLoadComplete (phaser-split.js:56840)
at XMLHttpRequest.xhr.onload (phaser-split.js:56345)
Разрывающаяся строка в Phaser.Timer.start выглядит следующим образом:
this._started = this.game.time.time + (delay || 0);
Используя отладчик chrome, я безоговорочно подтвердил, что на момент ошибки:
this.game
правильно определен и может быть исследован в окне «области действия» this.game
имеет определенное свойство time.time
, которое можно найти, исследуя this.game
в области действияwindow - при наведении мыши на
time
in this.game.time
в окне исходного кода выдает «undefined». - Ошибка вызвана приведенным выше экземпляром таймера.
Я в курсе, что может быть причиной этого.Кто-нибудь видел это раньше?
Я использую стек Phaser-ES6-Webpack с Phaser CE 2.9.4