2016-02-14 1 views
1

Я пытаюсь добавить графический интерфейс для упрощения редактирования уровня в нашем игровом движке. Мы используем SFML для всех основных компонентов (управление окнами, события ввода и т. Д.). Я выбрал AntTweakBar, потому что это хорошо известная библиотека с несколькими примерами. Я следил за учебником по адресу AntTweakBar's websiteAntTweakBar не регистрирует события мыши SFML

Мне удалось нарисовать простой бар с этими примерами. Однако события мыши, полученные SFML, не регистрируются функцией TwEventSDL() от AntTweakBar. Ниже приведен примерный код для ввода:

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 (будь то кнопка или раздел справки), он не регистрирует его. (Кроме того, я не вижу «НАКОНЕЦ!», Когда я использую мышь).

Любая помощь или идеи будут оценены.

ответ

1

Anttweakbar не обновляется через 3 года, последняя интеграция SFML была для SFML 1.6 Какую версию SFML вы используете? Если нет 1.6, вам необходимо создать для него свой собственный обработчик ввода.