[SFML 2.0] Pozycja sprite'a i kursora w oknie
Ostatnio zmodyfikowano 2014-03-09 18:20
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. |
|
MrPoxipol |
» 2014-03-09 10:48:56 |
|
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? |
|
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ś. 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 |
|
« 1 » |