XxMichałxX Opublikowano 7 Lutego 2009 Udostępnij Opublikowano 7 Lutego 2009 Jak zrobić odrzut po uderzeniu, czyli np walnie jeden obiekt w drugi (zalezy z jaką prędkością) to ten drugi odlatuje w stronę przeciwną tej w którą został uderzony z prędkością pierwszego obiektu ktory w niego uderzył? czy to będzie może takie coś?: w kolizji pierwszego z drugim: drugi.speed=pierwszy.speed dierction=pierwszy.direction*=-1 ? edit: a nie bzdura bo direction nie moze byc * -1 i w dodatku pierwszy obiekt nie ma predkosci tylko zmeinia sie jego x i y na x i y myszki i nie ma kierunku ;/ edit: ej no ludzie co z wami? dla was to proscizna powinna byc ;( pomozcie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 7 Lutego 2009 Udostępnij Opublikowano 7 Lutego 2009 Skoro pierwszy obiekt porusza się z myszką to zróbn mu taką prędkość "fikcyjną" to znaczy zmienną przechowującą prędkość. I obliczaj te prędkość używając: xprevious - poprzednie x yprevious - poprzednie y chyba z pitagorasa dasz radę obliczyć zmianą położenia :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XxMichałxX Opublikowano 7 Lutego 2009 Autor Udostępnij Opublikowano 7 Lutego 2009 no ale to jak mam to obliczyc? skoro poprzednie x i y to ten obiekt sie ruszy gdzies a potem spowrotem wroci na to samo miejsce i ostatnie x bedzie obecnym x. i jak zrobic zeby w przeciwnym kierunku polecialo? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 7 Lutego 2009 Udostępnij Opublikowano 7 Lutego 2009 Skoro obiekt podąża za myszką to zmienia swoje położenie. Zamiana położenie jest jego prędkością. Daj w step: GML sp=sqrt(sqr(x-xprevious)+sqr(y-yprevious)) Tak trudno z pitagorasa wyliczyć przemieszczenie? Teraz w sp masz prędkość obiektu. w kolizji z obiektem drugim daj: GML other.speed=sp I będzie przejmował speeda. Z directionem zrób podobnie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 7 Lutego 2009 Udostępnij Opublikowano 7 Lutego 2009 A nie lepiej point_distance ? xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XxMichałxX Opublikowano 7 Lutego 2009 Autor Udostępnij Opublikowano 7 Lutego 2009 no ale nie wiem jak z direction :( nie znam sie na direction .. i teraz paletka (obiekt pierwszy) przelatuje przez pilke (obiekt drugi) jak za szybko. Jak to zrobic zeby nie przelatywalo? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 7 Lutego 2009 Udostępnij Opublikowano 7 Lutego 2009 Tu można użyć collision_line :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 7 Lutego 2009 Udostępnij Opublikowano 7 Lutego 2009 A nie lepiej point_distance ? xD Jak to się stało że ta funkcja mi uleciała z głowy O.o xD z direction to po prostu zrób point direction(xprevious,yprevious,x,y) sp=point distance(xprevious,yprevious,x,y) dir=point direction(xprevious,yprevious,x,y) i przy kolizji przekazuj te wartości drugiemu obiektowi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XxMichałxX Opublikowano 7 Lutego 2009 Autor Udostępnij Opublikowano 7 Lutego 2009 edit: a jak tego colisions line uzyc? POŁĄCZONO halo! jak zrobic te colision line? zeby pod wplywem duzej predkosci obiekt przez obiekt nie przelatywal? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 8 Lutego 2009 Udostępnij Opublikowano 8 Lutego 2009 Możesz sprawdzać co krok i po pixelu dochodzić dokładnie czy jest wolna, choć w sumie collision line zrobi coś podobnego jednak mniej dokładnego. 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ę