Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML 2.0] Pozycja sprite'a i kursora w oknie

Ostatnio zmodyfikowano 2014-03-09 18:20
Autor Wiadomość
KrzysiekB
Temat założony przez niniejszego użytkownika
[SFML 2.0] Pozycja sprite'a i kursora w oknie
» 2014-03-08 22:07:51
Witam! Mam pewien zastój w programie niemogę bowiem rozgryść jak uzyskać pozycję
obiektu, kursora itp. w oknie. Z tego co wiem to getPosition() pobiera pozycję globalną np.
Sprite'a a mnie chodzi o pozycję lokalną.Z tego co doczytałem na necie w poprzednich
wersjach biblioteki występowały funkcje transformToLocal() i transformToGlobal() a od wersji 2.0
w górę niema ich. I teraz moje pytanie: czy dałoby się jakoś zportować te funkcję do nowszych
bibliotek, obliczyć te współrzędne lub też ja coś pominołem i takowe odpowiedniki są już
zaimplementowane. Dziękuje za poświęcony czas i pozdrawiam.
P-105893
MrPoxipol
» 2014-03-09 10:48:56
P-105906
KrzysiekB
Temat założony przez niniejszego użytkownika
» 2014-03-09 17:38:34
Ale w argumentach podajemy getLocalBounds().left i getLocalBounds().top i to nasz punkt na ekranie a nie w całym programie?
P-105935
KrzysiekB
Temat założony przez niniejszego użytkownika
» 2014-03-09 18:20:12
Mam sobie np. taką funkcję która liczy kąt między myszką a sprite'm i między innymi ten kod niedziała poprawnie:
float angle = atan2( sf::Mouse::getPosition().y - Sprite.getPosition().y, sf::Mouse::getPosition().x - Sprite.getPosition().x );
Problem pojawił się od prób z sf::View ponieważ funkcja bierze pozycję sprita w programie a myszy na ekranie.

Edit:
Problem rozwiązany po długim śledztwie :D
Przesyłam rozwiązanie może się przyda komuś.
C/C++
float angle = atan2(
( sf::Mouse::getPosition().y + Camera->getCenter().y - Camera->getSize().y / 2 ) - Sprite.getPosition().y,
( sf::Mouse::getPosition().x + Camera->getCenter().x - Camera->getSize().x / 2 ) - Sprite.getPosition().x );
Dzięki za uwagę i przepraszam za kłopot.

Zamykam
P-105940
« 1 »
  Strona 1 z 1