我正在尝试在TypeScript项目中实现Phaser 3物理精灵文档,但这似乎没有想象中那么简单:
但是当创建一个
我该如何创建一个 Phaser.Physics.Arcade.Sprite 实例?
不起作用
export class BMO extends Phaser.Physics.Arcade.Sprite {
constructor(scene) {
super(scene, 100,150, "bmo")
this.scene.add.existing(this)
}
create(){
this.setVelocity(100, 200);
this.setBounce(1, 1);
this.setCollideWorldBounds(true);
}
}
但是当创建一个
new BMO()
时,精灵没有物理效果。
物理引擎本身是在工作的,因为我可以传递一张图片并且它有效:
有效
export class GameScene extends Phaser.Scene {
create(){
let logo = this.physics.add.image(400, 100, 'bmosmall')
logo.setVelocity(100, 200);
logo.setBounce(1, 1);
logo.setCollideWorldBounds(true);
}
}
修复?
因此,即使它是物理精灵,也可能仍需要手动将精灵添加到物理引擎中,但无法将整个精灵作为参数传递:
export class BMO extends Phaser.Physics.Arcade.Sprite {
create(){
this.scene.physics.add.sprite(this)
}
}
我该如何创建一个 Phaser.Physics.Arcade.Sprite 实例?