[SFML 2.0] Mysz nad sprite'em

0

Witam,
Naprawdę nie mam już do tego siły, przeszukałem całą dokumentację i pół internetu i nigdzie nie znalazłem odpowiedzi.
Otóż mam okienko (renderWindow), w którym wyświetlony jest kwadratowy sprajt. Jak sprawdzić, czy myszka znajduje się nad tym spritem? Podkreślam, że to sfml 2.0 i nie ma już funkcji TransformToLocal.. Bardzo proszę o pomoc.

0

a znasz położenie/wymiary kwadratu? Jak tak to w czym problem?

0

o ile dobrze pamiętam google jeszcze nie zaprzestało swojej działalności - wyszukiwarka wciąż działa.

const sf::Input &inp = okno.GetInput(); // gdzie okno to zmienna typu RanderWindow.

i istnieją 2 magiczne funkcje:

inp.GetMouseX();
inp.GetMouseY();

teraz kalibrujesz to odpowiednio ze swoimi współrzędnymi kwadratu i gotowe.

http://cpp0x.pl/kursy/Kurs-SFML-C++/Bezposredni-dostep-do-klawiatury-myszy-i-joysticka/330

0

Nie jestem aż takim noobem, jak sugeruje to pytanie.
To SFML 2.0 - nie ma klasy Input. Ale nie o to chodzi, mam współrzędne myszy i współrzędne kwadratu. @qupa, podany przez Ciebie kurs jest dla wersji 1.6, gdzie wykorzystana jest wspomniana przeze mnie funkcja transformToLocal, która znacząco uławtiłaby sprawę.

Problem w tym, żeby te współrzędne były podane względem tego samego punktu.

  • mouse.getPosition() podaje względem rogu ekranu;
  • mouse.getPosition(oknoAplikacji) podaje zawsze 0;
  • kwadrat.getGlobalBounds() podaje względem okna;
  • kwadrat.getLocalBounds() podaje względem kwadratu;

Moim celem jest wyrażenie współrzędnych położenia myszy w układzie związanym z kwadratem, tzn. żeby (0,0) było w lewym górnym rogu kwadratu.
Macie pomysł, jak to zrobić?

0

Skoro nie jesteś"takim noobem..." to czemu nie zrobisz tego jak normalny człowiek, czyli nie sprawdzisz w dokumentacji?
getPosition() + znane wymiary sprajta (albo getSize() tekstury z ktorej zrobiles sprajta)

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