2016-02-14 3 views
1

J'essaie d'ajouter une interface graphique pour faciliter le montage de niveau dans notre moteur de jeu. Nous utilisons SFML pour tous les éléments de base (gestion des fenêtres, événements d'entrée, etc.). J'ai choisi AntTweakBar parce que c'est une bibliothèque bien connue avec quelques exemples. Je suivais le tutoriel à AntTweakBar's websiteAntTweakBar n'enregistre pas les événements de la souris SFML

J'ai été capable de dessiner une barre simple avec ces exemples de codes. Cependant, les événements de souris reçus par SFML ne sont pas enregistrés par la fonction TwEventSDL() d'AntTweakBar. Voici un exemple de code pour l'entrée: « ENFIN »

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; 
     } 

Lorsque j'appuie sur les boutons, je peux voir se pointer. Je peux aussi voir que mes clics de souris sont reçus par SFML. Cependant, lorsque je clique sur un élément AntTweakBar (que ce soit un bouton ou une section d'aide), il ne l'enregistre pas. (De plus, je ne peux pas voir "FINALEMENT!" Quand j'utilise la souris).

Toute aide ou idée sera appréciée.

Répondre

1

Anttweakbar n'a pas été mis à jour depuis 3 ans, la dernière intégration de SFML était pour SFML 1.6 Quelle version de SFML utilisez-vous? Si ce n'est pas 1.6 alors vous devez créer votre propre gestionnaire d'entrée pour cela.