Cześć, pisze grę platformowąi chce zrobić tak by można celować myszką. Innymi słowy, pocisk ma lecieć wskazane przez mysz. na rysunku to wygląda tak:
Rysunek duzo uproszczony, ale grunt to skumac o co mi chodzi :P Chce by dzialo obracalo się w kierunku wskazanym przez mysz czyli celownika. Wiec musze obliczyc kat no nie, obliczylem tak ze
int x_c=(int)celownik.getX(); //wspolrzedne celownika (myszki)
int y_c=(int)celownik.getY();
int x_b=(int)dzialo.getX(); //wspolrzedne dziala
int y_b=(int)dzialo.getY();
int x_n=x_c-x_b; //przyprostokatna x
int y_n=y_c-y_b; //przyprostokatna y
double dot = Math.sqrt((x_n*x_n)+(y_n*y_n)); /przeciwprostokatna d
double a_c = x_n/dot; //obliczam cosinusa kata alfa
double a_s = y_n/dot;
double kat = Math.acos(a_c)*180/3.14; //tu powinienem uzyskac kat alfa w stopniach
if(a_s<0) kat=-kat;
No i gdy zrobiłem te obliczenia dzialo za grzyba nie chce mi wskazywac na celownik i teraz nie wiem gdzie mam bład. Zwykle jak zrobie maly ruch to ono sie obraca wokół własnej osi jak oszalałe.. a nie powinno..