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 шт):
Сам нашел ответ.
Сначала нужно определить переменную типа Vector2i (смотреть документацию по Vector2).
sf::Vector2i mousePos;
Затем, в цикле isOpen, присвоить координаты мыши ранее созданной переменной mousePos;
mousePos = sf::Mouse::getPosition(window);
Далее, уже используем по нужде полученные координаты:
mousePos.x- координаты по x.mousePos.y- координаты по y.