Phaser将物理应用于Phaser.Sprite(ES6)的子类

时间:2017-07-24 05:55:02

标签: javascript phaser-framework

我试图将Gravity.Y Arcade Physics应用到Character Class(Phaser.Sprite)。但是gravity.y并没有影响雪碧并保持其位置。

是否有任何具体的命令来应用物理学? 注意:我还尝试在game.add.existing(char)

之前和之后启用/应用物理

1)失败

扩展Phaser.Sprite Character类的一个示例

已应用ARCADE物理,但它无法正常运行:

class Char extend Phaser.Sprite {
     constructor(game,x,y){
        super(game,x,y,'dude')
        game.add.existing(this)
        game.physics.arcade.enable(this)
        this.body.gravity.y = 300
     }
}

// calling it in create()
create(game){
   game.physics.startSystem(Phaser.Physics.ARCADE)

   var x = new Char(game,0,0)

}

2)工作

然后尝试正常的Sprite创建和gravity.y工作......

create(game){
   game.physics.startSystem(Phaser.Physics.ARCADE)

   var x = game.add.sprite(0,0,'dude')
   game.physics.arcade.enable(x)
   x.body.gravity.y=300
}

1 个答案:

答案 0 :(得分:0)

我的坏

代码实际上正在运行, 这是由于另一个设置" fixedToCamera = true"