【发布时间】:2016-08-29 22:20:14
【问题描述】:
我试过用 SFML 做一个按钮,但是当我点击 Sprite 时,程序打印:“你没有按下按钮”..
Window.cpp:
while(m_window.pollEvent(event))
{
switch(event.type)
{
case sf::Event::MouseButtonPressed:
std::cout << "MouseButtonPressed !" << std::endl;
if(buttonEnter.eventMouse(m_window.mapPixelToCoords(
{event.mouseButton.x, event.mouseButton.y})))
{
std::cout << "You did press the Button " << std::endl;
}
else
{
std::cout << "You didn't press the Button" << std::endl;
}
break;
case sf::Event::Closed:
m_window.close();
default:
break;
}
}
还有 Button.cpp (buttonEnter)
bool Button::eventMouse(sf::Vector2f const &cursor_position)
{
std::cout << "eventMouse" << std::endl;
bool test = m_spriteButton.getGlobalBounds().contains(
cursor_position.x,cursor_position.y);
return test;
}
程序打印(当我点击 Sprite 时): 鼠标按钮按下! 事件鼠标 你没有按下按钮
{ 我认为我的代码(Windows.cpp 和 Button.cpp)很好,所以这就是我的全部代码:https://github.com/Moongm/LoadComponent }
感谢您的帮助!
【问题讨论】: