我对Phaser还比较新,正在按照这个教程进行学习:https://www.codecaptain.io/blog/game-development/shooting-bullets-phaser-3-using-arcade-physics-groups/696
不过,我想让Laser
变成一个简单的圆形,而不是一个Sprite
,所以我尝试了以下代码:
export class Laser extends Phaser.Physics.Arcade.Body {
constructor(scene: Phaser.Scene, x: number, y: number) {
const c = new Phaser.GameObjects.Ellipse(scene, x, y, 25, 25, 0x00ff00);
super(scene.physics.world, c);
}
}
这只是抛出了以下错误 Uncaught TypeError: child.addToDisplayList is not a function
。
我是否遗漏了一些基础知识?我似乎只能使用 Phaser.Physics.Arcade.Sprite
或 Phaser.Physics.Arcade.Image
。不可能只有由多个矩形或圆组成的物理对象吗?
Phaser.Physics.Arcade.Group
的教程上下文中似乎无法工作。 - Mikebody
属性中获取速度。这个属性在游戏对象被添加到物理世界后(在scene.physics.add.existing(this)
上)会自动附加。我已经更新了示例。 - winner_joiner