Farkraj Opublikowano 19 Stycznia 2010 Udostępnij Opublikowano 19 Stycznia 2010 Mam taki problemik który rozrysowałem sobie na rysunku: Powiedzmy że obiekt O1 w prostokacie 1 stoi na pozycji x i y. Jeżeli zmieniamy direction prostokata to obiekt przechodzi na pozycję O2, Czyli tak jakby swoją wcześniejszą pozycję tylko że w obróconym prostokącie. Rozumienie o co chodzi? Chciałbym wyliczyć jakoś pozycję O2 do której po obrocie prostokąta ma się udać O1. Halp plox :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 19 Stycznia 2010 Udostępnij Opublikowano 19 Stycznia 2010 Hmm... nie jestem pewien, ale o ile znasz współrzędne środka prostokąta, można to zrobić tak: GML //w o1 var dir,dis dir=point_direction(x,y,srodekprostokatax,srodekprostokatay); dis=point_distance(x,y,srodekprostokatax,srodekprostokatay); x+=lengthdir_x(dir,dis) + lengthdir_x(dir+obrot +180,dis) y+=lengthdir_y(dir,dis) + lengthdir_y(dir+obrot +180,dis) Nie jest to najlepsze rozwiązanie, ale powinno działać(chyba że się pomyliłem z kolejnością argumentów w lengthdirach) Polega na tym, że teoretycznie przenosi obiekt do środka prostokąta, a następnie do miejsca docelowego o kąt "obrot" :) ED: Dodałem jeszcze "+180" do argumentów, bo w przeciwnym razie przenosiłby na stronę przeciwną do docelowej :P ED2: Na pewno da się to zrobić za jednym zamachem tylko nie pamiętam jak obliczało się odległość pierwiastek(a^2+b^2) * sin(alfa) ?? coś kojarzy mi się, ale to tylko skojarzenie :P Chyba to jest prawidłowe: a^2 + b^2 - 2ab * cos(alfa) Czyli skoro dis jest cały czas takie same to by wychodziło chyba 2(a^2) - 2(a^2) * cos(obrot) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Farkraj Opublikowano 19 Stycznia 2010 Autor Udostępnij Opublikowano 19 Stycznia 2010 Dzięks, zaraz posprawdzam :] 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ę