Dawidds Opublikowano 1 Marca 2008 Opublikowano 1 Marca 2008 Mam dość ciężkie pytanie. Otóż piszę teraz grę. Nie chcę jej opisywać - ale będzie podobna do bilarda :P Ale do rzeczy: W prawdziwym bilardzie, kiedy moja bila uderzy centralnie w drugą bilę - druga przejmnie prędkość mojej a moja stanie. Lecz, kiedy uderzę moją trochę na prawo od drugiej - druga poleci na lewo a moja na prawo. Macie rysunek: Chciałbym napisać sobie funkcję, która zwraca przesunięcie mojej bili na prawo lub lewo względem środka drugiej bili. Chciałbym tą funkcję wywoływać w mjej bili, przy kolizji w drugą bilą. Wydaje się łatwo: sprawdzać pozycję y mojej bili i drugiej bili. Jednagże: Bile nie zawsze lecą do góry. Moja bila może uderzyć w bilę wroga pod kątem np. 39 stopni. Myślałem, jakby zastosować do tego direction, ale... bez rezultatu. Z góry dzięki za pomoc :thumbsup:
Tymon Opublikowano 1 Marca 2008 Opublikowano 1 Marca 2008 Tak to widzisz? To w sumie łatwo napisać. Zrobi się. :P EDIT Może lepiej tak:
Dawidds Opublikowano 1 Marca 2008 Autor Opublikowano 1 Marca 2008 Nie, nie o to mi do końca chodzi. Punkt padania = koątowi dbicia dla kuli chyba bym se poradził zrobić. Coś takiego. Edit: jakby bila uderzyła w lewą część tej drugiej bili wartosć byłąby ujemna. Chcem po prostu sprawdzić, w którą część bili uderzyla moja bila.
Maxpayn Opublikowano 1 Marca 2008 Opublikowano 1 Marca 2008 Chcem po prostu sprawdzić, w którą część bili uderzyla moja bila. Kolizja GML promien = sprite_get_height( sKula ) / 2; dir = point_direction( x, y, other.x, other.y ); xKolizja = x + lengthdir_x( promien, dir ); yKolizja = y + lengthdir_y( promien, dir ); ?
Dawidds Opublikowano 1 Marca 2008 Autor Opublikowano 1 Marca 2008 @maxpayn: nie do końca o to mi chodzi... tak jak w rysuknu powyżej. Funkcja, która zwraca mi wartość zielonej linii. nawet niekoniecznie z ujemną liczbą. Po prostu długość tej linii.
Marzec Opublikowano 4 Marca 2008 Opublikowano 4 Marca 2008 Jeżeli chcesz zrobić, że bila odbija się od drugiej to warto tu zastosować podążanie za pozycją obiektu, a raczej uciekanie od niej, czyli ujemne podążanie :P Tutaj example: https://gmclan.org/up2782_11_bilard.html PPM - odbicie bili enter - restart rooma [edit] Chciałbym napisać sobie funkcję, która zwraca przesunięcie mojej bili na prawo lub lewo względem środka drugiej bili. Bitte sehr https://gmclan.org/up2782_11_odleglosc.html
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się