【问题标题】:Phaser applying physics to child class of Phaser.Sprite (ES6)Phaser 将物理应用到 Phaser.Sprite (ES6) 的子类
【发布时间】:2017-07-24 18:43:09
【问题描述】:

我正在尝试将 Gravity.Y Arcade Physics 应用于角色类(Phaser.Sprite)。但是,gravity.y 并没有影响 Sprite 并保持在它的位置。

应用物理有什么特定的顺序吗? 注意:我还尝试在 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
}

【问题讨论】:

    标签: javascript phaser-framework


    【解决方案1】:

    我的坏

    代码确实有效, 这是由于另一个设置“fixedToCamera = true”

    【讨论】:

      猜你喜欢
      • 2019-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-12
      • 1970-01-01
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多