Dawidds Opublikowano 1 Marca 2008 Udostępnij 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: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 1 Marca 2008 Udostępnij Opublikowano 1 Marca 2008 Tak to widzisz? To w sumie łatwo napisać. Zrobi się. :P EDIT Może lepiej tak: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 1 Marca 2008 Autor Udostępnij 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maxpayn Opublikowano 1 Marca 2008 Udostępnij 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 ); ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 1 Marca 2008 Autor Udostępnij 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 2 Marca 2008 Udostępnij Opublikowano 2 Marca 2008 A co jeśli będzie tak? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marzec Opublikowano 4 Marca 2008 Udostępnij 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
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ę