AntTweakBar不注册SFML鼠标事件



我正在尝试添加GUI,以便在我们的游戏引擎中更轻松地编辑关卡。我们使用SFML进行所有基本工作(窗口管理,输入事件等(。我之所以选择AntTweakBar,是因为它是一个著名的库,周围有一些例子。我正在关注AntTweakBar网站上的教程

我能够用这些示例代码绘制一个简单的条形图。但是,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元素(无论是按钮还是帮助部分(时,它不会注册它。(另外,当我使用鼠标时,我看不到"终于!"(。

任何帮助或想法将不胜感激。

Anttweakbar 已经 3 年没有更新了,上一次 SFML 集成是针对 SFML 1.6 的您使用的是哪个版本的 SFML?如果不是 1.6,那么您必须为其创建自己的输入处理程序。

最新更新