Phaser 3可点击的图片无法启动场景

时间:2019-03-20 15:07:49

标签: typescript phaser-framework

我已经使用打字稿在Phaser 3中创建了一个可点击的精灵。 我想在单击精灵时更改场景:

export class BMO extends Phaser.GameObjects.Sprite {

    constructor(scene) {
        super(scene, 100,150, "bmo")
        this.scene.add.existing(this)
        this.setInteractive()

        this.on('pointerdown', function (pointer) {
            this.scene.start('GameOver');
        }, this);
    }
}

在正在运行的游戏中单击精灵时,我得到:

  

this.scene.start不是函数

完全相同的代码在场景中而不是精灵中时起作用:

export class GameScene extends Phaser.Scene {

    constructor() {
        super({key: "GameScene"})
    }

    create(): void {
        this.input.once('pointerdown', function (pointer) {
            this.scene.start('GameOver');
        }, this);
    }
}

如何从Phaser 3中的可单击精灵更改场景?

1 个答案:

答案 0 :(得分:1)

您应该像在第二个示例中所做的那样,在start对象的scene属性的Scene属性上调用方法this.scene.scene.start('GameOver');

scene
Scene对象上的

ScenePlugin属性引用了router-outlet,请看docs