[SFML] obrót postaci myszą
Ostatnio zmodyfikowano 2015-07-30 21:59
kamilcv Temat założony przez niniejszego użytkownika |
[SFML] obrót postaci myszą » 2015-07-30 17:42:52 Witam, wiem że na forum znajdują się podobne tematy, lecz w nich nie znalazłem odpowiedzi. Mój problem polega na tym, że mój sprite obraca się w kierunku myszy, ale tylko w jednym obszarze, w obszarze około 1000px x 1000px od początku mapy. Moja mapa ma wielkość 10 000px x 10 10 000px, i nie wiem jak to zrobić. Oto linijki odpowiadające za obrót postaci: chris.setOrigin( 34, 36 );
sf::Vector2f mysz( sf::Mouse::getPosition( okno ) ); sf::Vector2f chris_position; chris_position = chris.getPosition(); sf::Vector2f norm = mysz - chris_position; float rot = atan2( norm.y, norm.x ); rot = rot * 180.f / M_PI;
rot += 90; chris.setRotation( rot );
|
|
pekfos |
» 2015-07-30 17:46:56 Co oznacza pozycja sprajta chris? |
|
kamilcv Temat założony przez niniejszego użytkownika |
» 2015-07-30 17:49:19 nie rozumiem pytania, chris to zmienna sptite. |
|
pekfos |
» 2015-07-30 17:53:43 Co znaczy pozycja tego sprajta..? To pozycja na ekranie, czy na świecie? |
|
kamilcv Temat założony przez niniejszego użytkownika |
» 2015-07-30 18:05:54 pozycja sprita jest określana na świecie |
|
pekfos |
» 2015-07-30 18:39:04 sf::Vector2f norm = mysz - chris_position;
|
Więc źle obliczasz, mieszasz dwie różne wielkości. Oblicz pozycję na ekranie i ją odejmij od pozycji kursora. |
|
kamilcv Temat założony przez niniejszego użytkownika |
» 2015-07-30 21:28:49 a jaką funkcją pobrać pozycje sprite'a na ekranie a nie na planszy? |
|
pekfos |
» 2015-07-30 21:32:27 A jak sprite'a wyświetlasz? |
|
« 1 » 2 |