sfml2 kursor

0

Hey,
jak wiadomo sfml2 podaje pozycję względem pulpitu. Takie zachowanie jest jednak wielce niepożądane. Jak zrobić, aby sfml2 podawał pozycję kursora względem okna gry? Nie mogę użyć statycznej metody getPosition z sf::Mouse, ponieważ mam sf::RenderWindow, a nie sf::Window, które trzeba podać jako argument. Jak to zrobić w sfml2? Jest do tego jakaś funkcja?

0

Czy sf::Window, czy sf::RenderWindow - nie ma znaczenia bo to drugie dziedziczy z pierwszego więc spokojnie możesz podać obiekt RenderWindow jako argument w metodzie sf::getPosition(...). Jeżeli nie działa to daj kod, pisałem kiedyś w SFML'u to spróbuję pomóc.

0

Niestety nie można podać sf::RenderWindow jako parametr tej metody ;(

0

Ale jaki jest błąd? Pamiętaj że musisz podać referencję obiektu jeżeli nie jest to wskaźnik.

0

Podaję wskaźnik, ale wywala, że nie ma zdefiniowanej metody przyjmującej sf::RenderWindow jest tylko dla sf::Window. Po prostu pokazuje niezgodność typów

0

Pokaż kod gdzie tworzysz obiekt RenderWindow i pobierasz tę pozycję bo mam wrażenie że motasz ze wskaźnikami. A, i daj dokładną treść błedu, nie streszczoną :)

0
 
sf::RenderWindow* Window = new sf::RenderWindow(sf::VideoMode(800,600,32), "", sf::Style::Default);
............
int x = sf::Mouse::getPosition(Window).x;
int y = sf::Mouse::getPosition(Window).y;
0

Bo przekazujesz wskaźnik. A metoda getPosition przyjmuje referencje.

0

Czyli tak?

int x = sf::Mouse::getPosition(*Window).x;
int y = sf::Mouse::getPosition(*Window).y;
 

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