Pracuję nad grą 2D na iPhone'a, używając Corony (wersja próbna, więc nie mogę korzystać z ich forów). Gra polega na tym, że postać spada z nieba, a ja próbuję wykonać „podwójny skok” dla postaci, aby mógł on podskoczyć podczas upadku. Korzystam z biblioteki fizyki Corony, aby postać spadła, a do tej pory najlepszą metodą skoku go jest metoda impulsu pionowego
object:applyLinearImpulse(0, -0.4, object.x, object.y)
Problem, z którym się zmagam, polega na tym, że gdy postać dopiero zaczyna (prędkość pionowa jest niska), skacze naprawdę wysoko, a gdy spada przez chwilę (prędkość pionowa jest wysoka), skok jest znikomy. Domyślam się, że najlepszym rozwiązaniem jest użycie jakiegoś równania z prędkością jako danych wejściowych, aby skok był taki sam bez względu na prędkość, ale nie mogę zrozumieć, jakie byłoby to równanie.
Okej, więc to tylko moje myśli. Ostateczne pytanie brzmi: jak dokładnie realizujesz podwójny skok z fizyką? Czy istnieje odpowiednie równanie dla mojego problemu? Czy powinienem przyjąć inne podejście? Zrobiono to już wcześniej w grach takich jak Smash Bros, więc istnieje powtarzalne rozwiązanie, prawda?