我使用
Phaser.Actions.RotateAroundDistance(spinningfire.getChildren(), { x: 600, y: -1780 }, 0.02, 200)
来制作一组旋转火焰来围绕精灵旋转。唯一的问题是碰撞箱不随火焰图像移动。
我对移相器非常陌生,所以我真的不知道如何更改命中框和其他类似的复杂东西。
这里还有所有相关代码
`function preload()
{
//loading the fire image
this.load.image('fire', 'assets/fire.png')
}
function create()
{
//creating spinning fire group
spinningfire = this.physics.add.staticGroup();
spinningfire.create(600, -1600, 'fire')
}
function update()
{
Phaser.Actions.RotateAroundDistance(spinningfire.getChildren(){
x: 600, y: -1780 }, 0.02, 180)
}`
我通过对组进行一些调整轻松修复了它。问题是静态组碰撞箱想要留在原处,因为它没有物理特性。答案是创建一个没有重力但具有物理特性的群体。为了做到这一点,我用
spinningfire = this.physics.add.staticGroup
替换了 spinningfire = this.physics.add.group({immovable: true, allowGravity: false});
,这创建了一个具有物理原理的组,但没有重力妨碍事物。