Unity - заставляет персонажа прыгать при сползании с платформы - PullRequest
0 голосов
/ 22 октября 2018

Я делаю 2D бесконечную игру-бегун на платформе Unity, основанную на коде, показанном в этом видео, и я не могу понять, как заставить персонажа прыгать, если он соскользнет с платформы..

В коде прыжок контролируется проверкой наличия у игрока платформы под ним при нажатии пробела.Поэтому, когда персонаж сползает с платформы, у него ничего нет внизу и он не может прыгнуть.

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

Я не знаю, как заставить персонажа прыгать при падении после скольжения по платформе (чтобы персонаж еще не прыгал до падения).

Хорошо, вот код:

public void OnJumpInputDown() {
    if (controller.collisions.below) {
            velocity.y = maxJumpVelocity;
            doubleJump = true;
        }
    } else if (doubleJump)
    {
        doubleJump = false;
        velocity.y = maxJumpVelocity;
    }
}

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Итак, я понял это сегодня и добавил переменную, которая запоминает, сколько прыжков доступно игроку, и когда он касается земли, он сбрасывается, если игрок еще не прыгнул.:) Вот код:

int hasJumps;
bool jumping;

public void OnJumpInputDown() {
    jumping = true;
    if (controller.collisions.below) {
         velocity.y = maxJumpVelocity;
         hasJumps = hasJumps - 1;
    } else if (hasJumps != 0) {
        velocity.y = maxJumpVelocity;
        hasJumps = hasJumps - 1;
    }
}

public void OnJumpInputUp() {
    jumping = false;
}


void IsFalling()
{
    if ((controller.collisions.below) && (!jumping))
    {
        hasJumps = 2;
    }
}
0 голосов
/ 23 октября 2018

Поскольку вы не опубликовали какой-либо конкретный фрагмент кода, я дам вам только общий ответ.Что вам нужно сделать, это создать другое условие, и когда у игрока ничего нет под ним, вам нужно убедиться, скользит он с платформы или нет.Возможным примером может быть создание логического значения, которое становится истинным, как только он скользит, и поэтому, если под ним нет ничего, кроме того, что логическое значение истинно, тогда он все равно может прыгнуть, иначе под ним ничего нет, и он не может прыгнуть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...