C++ | Определить координаты Mouse в SFML

Не могу догнать, как правильно определить координаты курсора?

Например, с помощью документации SFML я пришел к выводу, что брать координаты мыши нужно так:

sf::Mouse::getPosition(WindowBase(VideoMode));

Затем, я пробую записать эти координаты так:

 Vector2f position = Mouse::getPosition();

Ну и пытаюсь сравнением и if нарисовать что-то, когда курсор мыши находится по этим координатам...

 if (position == Vector2f(110, 110)) {
        rect3.setPosition(Vector2f(110, 110));
        window.draw(rect3);
    }

Я понял, что я вообще неправильно что-то делаю, так?

Как мне нарисовать rect3

rect3.setPosition(Vector2f(110, 110));
        window.draw(rect3);

В случае, если курсор мыши находится в диапазоне координат от Vector2f(110, 110) до Vector2f(210, 210); То есть, получается квадрат...

В общем, не получается мне понять логику как это делать. Спасибо за помощь!


Ответы (1 шт):

Автор решения: CheGun

Сам нашел ответ.

Сначала нужно определить переменную типа Vector2i (смотреть документацию по Vector2).

sf::Vector2i mousePos;

Затем, в цикле isOpen, присвоить координаты мыши ранее созданной переменной mousePos;

mousePos = sf::Mouse::getPosition(window);

Далее, уже используем по нужде полученные координаты:

  • mousePos.x - координаты по x.
  • mousePos.y - координаты по y.
→ Ссылка