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?

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.

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)?

0
auto time = time_since_last_frame();
position.x += speed.x * time;
position.y += speed.y * time;
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

0

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

0

Ok wielkie dzieki:)

Juz wszystko dziala! :D

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