Я новичок в Phaser 3, и я пытаюсь заставить своего персонажа подпрыгнуть.
Вот мой код:
create() {
this.kid = this.physics.add.sprite(50, 380, 'idle');
this.kid.setScale(.3);
this.kid.setGravityY(300);
this.kid.setBounce(0.2);
this.kid.setCollideWorldBounds(true);
this.physics.add.collider(this.kid, this.platforms);
this.cursorKeys = this.input.keyboard.createCursorKeys()
}
update() {
this.moveKid()
}
moveKid() {
if (this.cursorKeys.left.isDown) {
this.kid.setVelocityX(-300)
} else if (this.cursorKeys.right.isDown) {
this.kid.setVelocityX(300)
} else {
this.kid.setVelocityX(0);
this.kid.setVelocityY(0);
}
if (this.cursorKeys.up.isDown && this.kid.body.touching.down) {
this.kid.setVelocityY(-300);
}
}
Но в настоящее время персонаж прыгает только через несколько пикселей вверх и все. Если я удалю часть touching.down
, игрок будет свободно прыгать, но также подпрыгивает в воздухе и падает очень, очень медленно (независимо от силы тяжести, которую я установил для него).
Может ли кто-нибудь помочь?