SFML Mouse Event в Qt

0

Я следую этому руководству, чтобы создать RenderWindow в QFrame.

Все отлично, кроме этого

sf::Vector2i pixelPos = sf::Mouse::getPosition(); sf::Vector2f worldPos = RenderWindow::mapPixelToCoords(pixelPos);

В sf::Mouse::getPosition();
Он ссылается на положение мыши на моем экране, а не на мой QFrame.

Какую переменную я должен заполнить () sf::Mouse::getPosition

благодаря

Теги:
qt
sfml

2 ответа

0
Лучший ответ

class QSFMLCanvas: public QWidget, public sf::RenderWindow поэтому вы можете вызвать sf::Mouse::getPosition(*this) из методов вашего класса.

0

Вы должны использовать

sf::Mouse::GetPosition(sf::RenderWindow &Game);

Так что это относительно вашего окна, а не вашего полного экрана.

  • 0
    sf::Mouse::getPosition(sf::RenderWindow); дать ошибку, поэтому я использую это sf::Mouse::getPosition(sf::RenderWindow()); но я ссылаюсь на (0,0) каждый раз, когда нажимаю.
  • 0
    @delio Я имел в виду, что вы должны передать ссылку на ваше RenderWindow , я просто показываю тип.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню