Ogre/OIS Problème avec keyPressed

Signaler
Messages postés
8
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 octobre 2009
-
Messages postés
8
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 octobre 2009
-
Bonjour à tous,

Je suis en train d'essayer de créer une petite classe perso qui hérite du framelistener d'ogre et du keylistener d'OIS

Le problème est quand je presse sur la touche escape (ou n'importe quelle autre) la fonction keyPressed semble ne pas être activée, il ne se passe donc rien.

Je suis sur que c'est un tout petit truc, mais je n'arrive pas à trouver...

Voila ma classe:


class MyFrameListener : public FrameListener, public OIS::KeyListener
{
public:
MyFrameListener(OIS::Keyboard *keyboard)
: mKeyboard(keyboard)
{
// continue rendering
mContinue = true;
mKeyboard->setEventCallback(this);


}

bool frameStarted(const FrameEvent &evt)
{
if(mKeyboard)
mKeyboard->capture();

return mContinue;
}

// KeyListener
bool keyPressed(const OIS::KeyEvent &e)
{
LogManager::getSingleton().logMessage("test: "+StringConverter::toString(e.key));

switch (e.key)
{
case OIS::KC_ESCAPE:
mContinue = false;
break;


}
return true;
}


bool keyReleased( const OIS::KeyEvent &e )
{
return true;
}





protected:
bool mContinue; // Whether to continue rendering or not
OIS::Keyboard *mKeyboard;

};


Je bidouille depuis un certain temps dessus mais je n'arrive pas à trouver d'ou ça vient :(

Merci d'avance

1 réponse

Messages postés
8
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 octobre 2009

Résolu j'avais juste mis la dernière valeur du code ci dessous à false:

OIS:eyboard* keyboard = static_casteyboard*>(inputMgr->createInputObject(OIS:ISKeyboard, true));


je l'ai repassée à true et c'était bon