Я пытаюсь применить 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
}