I am Lord Opublikowano 6 Września 2009 Udostępnij Opublikowano 6 Września 2009 Podczas tworzenia edytora do gry której jeszcze wam nie zapowiadałem :P natrafiłem na problem. Otóż chcę narysować prostokąt złożony z 2 trójkątów figura jest elastyczna czyli się skaluje osobno w osi x i osobno w osi y, oraz może się przekręcać, więc zwykły draw_rectangle tu nic nie zdziała. No i napisałem kod: GML var pit; pit=sqrt(sqr(sprite_width)+sqr(sprite_height)); draw_triangle_color( x+lengthdir_x(0,image_angle),y+lengthdir_y(0,image_angle), x+lengthdir_x(sprite_width,image_angle),y+lengthdir_y(sprite_width,image_angle), x+lengthdir_x(sprite_height,image_angle-90),y+lengthdir_y(sprite_height,image_angle-90),$FFFF00,$FFFF00,$FFFF00,1); draw_triangle_color( x+lengthdir_x(pit,image_angle-radtodeg(cos(sprite_height/pit))),y+lengthdir_y(pit,image_angle-radtodeg(sin(sprite_width/pit))),/*tu jest błąd chyba*/ x+lengthdir_x(sprite_width,image_angle),y+lengthdir_y(sprite_width,image_angle), x+lengthdir_x(sprite_height,image_angle-90),y+lengthdir_y(sprite_height,image_angle-90),$FFFF00,$FFFF00,$FFFF00,1); pierwszy trójkąt działa poprawnie jednakże pierwszy punkt, drugiego trójkąta jest zwalony. Pomoże mi ktoś wyłapać mój błąd? EDIT: wychodzi z tego taka kupa: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 6 Września 2009 Udostępnij Opublikowano 6 Września 2009 Tą linijkę z błędem zamień na: GML x+lengthdir_x(pit,image_angle-radtodeg(arctan2(sprite_height,sprite_width))),y+lengthdir_y(pit,image_angle-radtodeg(arctan2(sprite_height,sprite_width))),/*tu jest błąd chyba*/ cos zwraca ci cosinus danego kąta. Ty potrzebujesz poznać kąt mając długość w pionie i w poziomie (mając tangens). Do tego jest arctan2. Czyli robiłeś odwrotnie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 6 Września 2009 Autor Udostępnij Opublikowano 6 Września 2009 Działa dzięki. 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ę