1
我正在尝试添加GUI,以便在我们的游戏引擎中进行更容易的级别编辑。我们使用SFML处理所有基本的东西(窗口管理,输入事件等)。我选择了AntTweakBar,因为它是一个众所周知的库,附有一些示例。我正在按照教程AntTweakBar's websiteAntTweakBar不注册SFML鼠标事件
我能够用这些示例代码绘制一个简单的栏。但是,由SFML接收的鼠标事件不会被AntTweakBar的TwEventSDL()
函数注册。下面是输入一个代码示例:“终于”
sf::Event event;
while (_pWindow->pollEvent(event))
{
// Check if the event should be handled by AntTweakBar
int handled = TwEventSFML(&event, 2, 3); // for SFML version 2.3
if (!handled){
switch (event.type)
{
case sf::Event::MouseButtonPressed: // To check whether SFML received mouse button events properly
if (event.mouseButton.button == sf::Mouse::Button::Left){
std::cout << "Left button pressed" << std::endl;
std::cout << "x: " << event.mouseButton.x << std::endl;
std::cout << "y: " << event.mouseButton.y << std::endl;
}
}
}
else{ //To check whether TwEventSFML received events
std::cout << "FINALLY!" << std::endl;
}
当我按下按钮,我可以看到出现。我还可以看到我的鼠标点击被SFML接收。但是,当我点击AntTweakBar元素(无论是按钮还是帮助部分)时,它不会注册它。 (另外,当我使用鼠标时,我看不到“最后!”)。
任何帮助或想法,将不胜感激。