Ogre/OIS Problème avec keyPressed

Tet2brick Messages postés 8 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 29 octobre 2009 - 23 oct. 2009 à 11:39
Tet2brick Messages postés 8 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 29 octobre 2009 - 29 oct. 2009 à 09:04
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

Tet2brick Messages postés 8 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 29 octobre 2009
29 oct. 2009 à 09:04
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
0
Rejoignez-nous