gpt4 book ai didi

c++ - AntTweakBar 不注册 SFML 鼠标事件

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:14:41 30 4
gpt4 key购买 nike

我正在尝试添加 GUI 以便在我们的游戏引擎中更轻松地编辑关卡。我们将 SFML 用于所有基本内容(窗口管理、输入事件等)。我选择 AntTweakBar 是因为它是一个众所周知的库,周围有一些示例。我正在按照 AntTweakBar's website 上的教程进行操作

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

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

最佳答案

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

关于c++ - AntTweakBar 不注册 SFML 鼠标事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35388180/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com