Как совместить Phaser 3 с гравитацией и сопротивлением? - PullRequest
1 голос
/ 19 апреля 2019

Мне нужен спрайт Phaser 3, чтобы падать и подпрыгивать вертикально в зависимости от силы тяжести.Я также хочу, чтобы тело уменьшало скорость по горизонтали, когда игрок отпускает контроллер.

Но кажется, что гравитация и трение не работают вместе ...?Как только я добавлю демпфирование и сопротивление, гравитация полностью облажается.Либо спрайт падает очень очень медленно, либо гравитация просто удаляется полностью.

Как объединить горизонтальное сопротивление с вертикальной гравитацией?

Настройки физики

    this.body.setBounce(1, 1)
    this.body.allowGravity = true // only works without drag/damping
    this.body.allowDrag = true
    this.body.useDamping = true
    this.body.setDrag(0.88, 0.95) // x drag and y drag

Управление

    if (this.cursors.left.isDown) {
        this.body.setVelocityX(-300)
    }
    else if (this.cursors.right.isDown) {
        this.body.setVelocityX(300)
    }

    if (this.cursors.up.isDown) {
        this.body.setVelocityY(-300)
    }

1 Ответ

0 голосов
/ 19 апреля 2019

Кажется, что ваши номера перетаскивания могут быть слишком маленькими.На 0,95 и 60fps я думаю, что вы собираетесь сделать полную остановку через 0,5 секунды.Попробуйте 0,99 или 0,999 и продолжайте свой путь оттуда.

...