Есть прямоугольник (rectangle), и нужно отследить нажатие мышки именно в области этого прямоугольника. Уже, наверное, всё перепробовал, но ничто не помогает. Вот код для наглядности.
#include <SFML/Graphics.hpp>
int main() {
sf::RenderWindow window(sf::VideoMode(1280, 720), "SFML");
window.setFramerateLimit(60);
sf::RectangleShape rectangle; //собственно сам прямоугольник
rectangle.setSize(sf::Vector2f(400.f, 25.f));
rectangle.setOutlineThickness(2.5f);
rectangle.setOutlineColor(sf::Color::White);
rectangle.setPosition(sf::Vector2f(320.f, 200.f));
while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed)
window.close();
if (event.type == sf::Event::MouseButtonPressed) {
if (rectangle.getGlobalBounds().contains(sf::Mouse::getPosition().x, sf::Mouse::getPosition().y)) {
rectangle.setOutlineColor(sf::Color::Red); //если нажатие произошло в области прямоугольника,
} //то изменить цвет границы
}
}
window.clear(sf::Color::Black);
window.draw(rectangle);
window.display();
}
return 0;
}