![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 9.03.2016 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam dość niewygodny problem. Nie jestem aż tak dobry z matematyki żeby z tym sobie poradzić. Chodzi o to, że mam stworzoną mapę do gry. Gracz może się po niej przemieszczać. Gdy zaczyna się przemieszczać do bazy zapisują się wszystkie informacje o podróży wraz z czasem. Jeśli wejdzie na stronę ponownie - podróż jest nadal kontynuowana. Działa to na takiej zasadzie że czas który pozostał do ukończenia podróży zamieniany jest na milisekundy i daje wtedy pozostały czas animacji. Wtedy za pomocą $.animate() przesuwam gracza do pozycji końcowych X i Y. Problem w tym, że nie mogę rozgryźć równania, które względem koordynacji Ax, Ay, Bx, By, oraz długości ścieżki wyliczy gdzie teraz znajduje się gracz. Mam już takie obliczenia: Całkowity czas podróży, czas który pozostał, czas który gracz już przebył, odcinek który gracz już przebył (w px), nawet procent który przebył. Ale nie mogę nadal wyliczyć tych końcowych koordynatów X i Y. Proszę o pomoc, bo męczę się z tym już długi czas. Oto kod:
Niestety funkcja nie działa, numery wychodzą ujemne albo ekstremalnie duże. Proszę o pomoc. Pozdrawiam, Hazes. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
To co mi pierwsze przychodzi do głowy (według standardowego układu współrzędnych):
1. Współczynnik nachylenia prostej=tan(dx/dy) 2. Kąt nachylenia prostej=atan(dx/dy) 3. Odległość od punktu Ax,Ay: X=Ax+d*cos(kąt) Y=Ay+d*sin(kąt) Czyli: X=Ax+d*cos(atan(dx/dy)) Y=Ay+d*sin(atan(dx/dy)) d=dystans dx=delta X dy=delta Y |
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.09.2025 - 19:30 |