Ruch obiektu po lini prostej z punktu do punktu
Ostatnio zmodyfikowano 2014-06-13 17:30
aaadam Temat założony przez niniejszego użytkownika |
Ruch obiektu po lini prostej z punktu do punktu » 2014-06-11 20:55:08 |
|
SeaMonster131 |
» 2014-06-11 21:30:22 kat = atan2(..);
x += cos( kat ); y += sin( kat );
|
|
aaadam Temat założony przez niniejszego użytkownika |
» 2014-06-11 21:33:22 dobra ogarnąłem już jak przemieszczać obiekty this->y += cos(( kat * 3.14 ) / 180.0f ) * predkosc; this->x += sin(( kat * 3.14 ) / 180.0f ) * predkosc; tylko jak obliczyć ten kąt ? |
|
pekfos |
» 2014-06-11 22:07:20 tylko jak obliczyć ten kąt ? |
|
|
aaadam Temat założony przez niniejszego użytkownika |
» 2014-06-11 22:48:19 to jest moja funkcja(wykonuje się około 30 razy na sekundę zależy od timera, potem obliczanie kąta będzie się wykonywać raz podczas tworzenia obiektu bullet) obliczam kąt dla y==100 i x ==500 i coś zawsze moje pociski przemieszczają się do dołu nawet gdy zmienię współrzędne na całkiem inne jeszcze jedno pytanie te obliczanie kąta odbywa się na zasadzie współrzędnych punktu A==(0,0) i B==(100,500)? /. void bullet::move() { this->destroyNormalState++; this->i_DestroyShottingAnimationState++; if( this->i_State == this->Normal ) { kat = atan2( 100.0, 500.0 ); kat = kat *( 3.14159265358979323846 / 180.0 ); this->y += cos(( kat * 3.14159265358979323846 ) / 180.0f ) * 5; this->x += sin(( kat * 3.14159265358979323846 ) / 180.0f ) * 5; } } |
|
pekfos |
» 2014-06-11 23:02:17 atan2() zwraca kąt w radianach, a nie stopniach. Dostałeś gotowca, czemu po prostu nie przepisałeś..? kat = atan2(..);
x += cos( kat ); y += sin( kat );
|
Widać tu jakieś mnożenia i dzielenia? |
|
aaadam Temat założony przez niniejszego użytkownika |
» 2014-06-12 18:05:08 dzięki za pomoc, nie za bardzo mi to wychodziło ponieważ współrzędne x oraz y miałem jako int a przecież są zaokrąglane teraz,kolejne pytanie jeżeli pobieram np współrzędne x=100 i y=100 do funkcji: atan2(100.0,100.0) to jest to jeden punkt, a drugi to 0.0,0.0 ? |
|
pekfos |
» 2014-06-12 19:50:13 Mniej więcej. |
|
« 1 » 2 |