Я работаю над 2D-игрой для iPhone с использованием Corona (пробная версия, поэтому я не могу использовать их форумы). Игра включает в себя падение персонажа по небу, и я пытаюсь реализовать «двойной прыжок» для персонажа, чтобы он мог подпрыгнуть при падении. Я использую физическую библиотеку Короны, чтобы персонаж падал, и до сих пор лучший способ заставить его прыгать - это метод вертикальных импульсов.
object:applyLinearImpulse(0, -0.4, object.x, object.y)
Проблема, с которой я сталкиваюсь, заключается в том, что когда персонаж только начинает (вертикальная скорость низкая), он прыгает очень высоко, а когда он падает некоторое время (вертикальная скорость высока), прыжок незначителен. Я предполагаю, что лучшее решение - использовать какое-то уравнение со скоростью в качестве входных данных, чтобы сделать скачок одинаковым независимо от скорости, но я не могу понять, каким будет это уравнение.
Хорошо, так что это все мои мысли. И последний вопрос: как именно вы реализуете двойной прыжок с помощью физики? Есть ли правильное уравнение для моей проблемы? Должен ли я выбрать другой подход? Это было сделано раньше в таких играх, как Smash Bros, так что есть повторяемое решение, верно?