Загрузка плагинов сцены в Phaser 3 - PullRequest
0 голосов
/ 24 февраля 2019

Новичок в Фазере.Я использую Phaser 3.16.2 и плагины из https://github.com/rexrainbow/phaser3-rex-notes.

Когда я загружаю плагин в методе preload () первой сцены (Docs), а затем использую его в той же сцене вМетод create () работает нормально.Но если я меняю сцену (на Docs2) и пытаюсь использовать в ней плагин, я получаю сообщение об ошибке:

TypeError: this.rexUI is undefined

В журналах консоли я вижу, что плагин загружается в обеих сценах.

class Docs extends Phaser.Scene {

constructor() {
    super({key: 'Docs'})
}

init(data) {
}

preload() {     
    console.log(this);
    this.load.scenePlugin({
        key: 'rexuiplugin',
        url: 'https://raw.githubusercontent.com/rexrainbow/phaser3-rex-notes/master/plugins/dist/rexuiplugin.min.js',
        sceneKey: 'rexUI'
    });
}

create() {
    this.backButton = new Button(this, 50, 50, 'btn-start', this.goDocs2, 'goDocs2');
    var itemInfoRect = this.rexUI.add.roundRectangle(96, 96, 50, 50, 0, COLOR_DARKEST);
}   

goDocs2() {
    this.scene.start('Docs2');
}
}


class Docs2 extends Phaser.Scene {

constructor() {
    super({key: 'Docs2'})
}

init() {

}

preload() {     
    console.log(this);
}

create() {
    var itemInfoRect = this.rexUI.add.roundRectangle(96, 96, 50, 50, 0, COLOR_LIGHT);
}

}

1 Ответ

0 голосов
/ 24 февраля 2019

Хорошо, это открытая ошибка.Существует обходной путь:

https://github.com/rexrainbow/phaser3-rex-notes/issues/10

...