Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania i odpowiedzi
Viewing all articles
Browse latest Browse all 83164

SFML - rotacja względem obiektu (nie okna)

$
0
0

Witam!

Stworzyłem obraz 1 i obraz 2. Obraz 1 powinien obracać się wokół obrazu 2.

#mistrzpainta

Pobieram pozycję obrazu 2 (czerwony). I wpisuję tą pozycję jako orgin dla obrazu 1

sf::Vector2f poz1= obrazek1.getPosition();
obrazek2.setOrigin(poz1.x+50,poz1.y+50);

[+50 dlatego żeby był dokładnie środek (obraz czerwony ma 100x100)]

I tu jest problem. Bo obraz 1 bierze origin  względem siebie.

Czyli jeśli obraz 1 ma pozycję 500,500 a obraz 2 - 600,600 to origin ustawi się na 1100,1100.

W związku z tym stworzyłem nowy orgin:

sf::Vector2f poz1= obrazek1.getPosition();
sf::Vector2f poz2= obrazek2.getPosition();

obrazek2.setOrigin(poz1.x+50-poz2.x+37.5,poz1.y+50-poz2.y+37.5);
obrazek2.rotate(1);

[+50 i +35.7 jest dlatego że chciałem podać dokładne środki obrazów]

Ale to dalej nie działa. Pomóżcie!


Viewing all articles
Browse latest Browse all 83164