Phaser 3 可点击精灵无法启动场景
2019-03-20
1076
我使用 typescript 在 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 is not a function
当它在场景中而不是精灵中时,完全相同的代码确实有效:
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个回答
您应该在
Scene
对象上的
scene
属性上调用方法
start
,就像在第二个示例中所做的那样:
this.scene.scene.start('GameOver');
Scene
对象上的
scene
属性引用
ScenePlugin
,请查看
docs
Krzysztof Grzybek
2019-03-21