【发布时间】: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