Przesuwanie obiektu po prostej pomiędzy dwoma punktami.

0

Witam.

Program ma za zadanie wystrzeliwać z danego punktu (obrazka) piksel w kierunku gdzie położony jest kursor myszy. Piksel ten powinien mieć stałą prędkość niezależnie od położenia kursora. Oczywiście powinien przesuwać się po linii prostej (możliwie prostej po uwzględnieniu pikseli).

Wszystkie moje pomysły padają z różnych powodów - albo nie trafiam w cel, albo prędkość po skosie jest inna niż w poziomie/pionie.

Ktoś ma pomysł na taki algorytm?

Pozdrawiam,
Vis.

0

samo przemieszczanie po linii miedzy dwoma punktami to nie problem... (ja kiedys robilem z podobienstwa trojkatow.. z proporcji...) ale nie lapie o co chodzi z tym "prędkość po skosie jest inna niż w poziomie/pionie."

0

jak znasz predkosc z jaka ma leciec pixel i kat pod jakim go wystrzeliles
to uzywajac podstawowych funkcji trygonometrycznych bez problemu
obliczysz predkosci skladowe z jakimi powinien przemieszczac sie w gore i w bok.

   |
Y  _         C
   |        /
   |      /
   |    /  
   |  /
   |/ a\
 S ----------|---------------------------------
             X

zalozmy ze w jednym 'kroku' pixel ma przeleciec N jednostek
zostal wystrzelony pod katem 'a' wiec musisz przesunac pixel
Nsin(a) jednostek w gore
N
cos(a) jednostek w bok

0

Dzięki wielkie za podpowiedzi. Robiłem to bardzo podobnie, i w sumie prawidłowo, a nie trafiałem w cel ponieważ zapomniałem że wartości x i y myszki jakie znajdywałem odnosiły się do całego ekranu, a nie tylko do formy :-)

Pozdrawiam,
Vis.

1 użytkowników online, w tym zalogowanych: 0, gości: 1