В основном, я пытался кодировать скорость в свою игру, которая работает. Разделение работает, но не совсем правильно.Скорость, правильный способ сделать это?
Моя проблема заключается в том, что для моей скорости z и x нет возможности достичь 0, потому что она просто борется между положительными и отрицательными значениями, в соответствии с моим кодом.
Но я не вижу другого пути, чтобы остановить это происходит, и правильно снижается до 0.
Мой код:
if((!cc.isGrounded)) {
velocity.y -= gravity;
}
if((velocity.z != 0)) {
velocity.z = Mathf.Lerp(velocity.z, 0, deaccelerationSpeed);
}
if((velocity.x != 0)) {
velocity.x = Mathf.Lerp(velocity.x, 0, deaccelerationSpeed);
}
if(isRightDown) {
velocity.x = sidewayMovementSpeed;
} else if(isLeftDown) {
velocity.x = -sidewayMovementSpeed;
}
if(isForwardDown) {
velocity.z = forwardMovementSpeed;
} else if(isBackDown) {
velocity.z = -backwardMovementSpeed;
}
То, что я довольно много спрашивает , есть ли другой способ обработки скорости, или есть проблема с моей проблемой?
Это было бы просто временное решение, не очень эффективное. Я пробовал это, не очень эффективное решение. –
Согласен, но образец кода улучшит ваш вопрос – Sayse
Пример кода? Не то, что я предоставил достаточно? Как я уже объяснял в своем вопросе, я не мог понять, как это сделать. –