SFML poruszanie spraitem

SFML poruszanie spraitem
0

Witam, mam problem poniewaz nie wiem w jaki sposob moge zrealizowac aby moj sprite poruszal sie do miejsca klikniecia myszki, po linii prostej.
Np. klikne w miejsce o wspolrzednych x i y(400,400). Moj sprite znajduje sie np. w chwili klikniecia na x(100,200) i chce aby to punktu klikniecia poruszal sie po prostej linii ale nie mam pojecia jak to zrealizowac

Macie jakies pomysly?

dampe
  • Rejestracja:prawie 13 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:SK
1

Wektory.
Dajmy na to:
Współrzędne sprite'a to wektor a
Współrzędne kliknięcia to wektor b
Wektor ruchu sprite'a: v = b - a
Update ruchu: a += v * delta czasu. Ewentualnie możesz dodać jakieś modyfikacje typu prędkość, przyspieszenie itp.


int main( int, char** ) try { throw std::logic_error( myCode() ); }
catch( const std::exception& e ) { puts( e.what() ); } ///:~
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:minuta
0

Ruch po skosie można przedstawić jako złożenie dwóch ruchów: w pionie i w poziomie.

0

A z ta delta czasu to o co chodzi? Jest co czas, co ile ma sie poruszac sprajt o np. wektor(1,1)?

spartanPAGE
  • Rejestracja:około 12 lat
  • Ostatnio:dzień
0
Kopiuj
auto time = time_since_last_frame();
position.x += speed.x * time;
position.y += speed.y * time;
edytowany 2x, ostatnio: spartanPAGE
0

Niby teoretrycznie rozumiem, ale praktycznie nadal nie potrafie tego zastosowac, moze dlatego, ze moj program wyglada troche inaczej niz kod z internetu.
Jak kod musze umiescic w mojej funkcji ktora wyglada tak:

void poruszaj(sf::Vector2i myszka, sf::Time czas)
{

         CO TU WPISAC? :)

}

myszka to jak sie mozna domyslic pozycja myszki na ekranie
w klasie posiadam tez
sf::Vector2i sprajt - polozenie mojego sprajtu

dampe
  • Rejestracja:prawie 13 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:SK
0

Zawartość tej playlisty powinna Ci wszystko wyjaśnić:


int main( int, char** ) try { throw std::logic_error( myCode() ); }
catch( const std::exception& e ) { puts( e.what() ); } ///:~
0

Ok wielkie dzieki:)

Juz wszystko dziala! :D

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.