Mxjugg
Messages postés1Date d'inscriptionmercredi 4 juin 2008StatutMembreDernière intervention 5 juin 2008
-
5 juin 2008 à 00:04
larles
Messages postés1Date d'inscriptionmardi 19 décembre 2000StatutMembreDernière intervention19 août 2008
-
19 août 2008 à 14:19
Bonjour à tous!
Je début dans la programmation avec Ogre et je sèche sur la gestion des périphériques avec OIS
Apparemment mes fontions de callback ne sont pas appelées (faut dire que la doc OIS est pas très explicite)
la doc OIS indique clairement qu'il faut dériver ses listeners. C'est fait.
Ensuite vient le fichier
myapp.cpp
#include "myapp.hpp"
myApp::myApp(constOgre::String&name,constOgre::String&plugin,constOgre::Realpx,constOgre::Realpy,constOgre::Realpz,constOgre::Realvx,constOgre::Realvy,constOgre::Realvz,constOgre::Realnc,constOgre::Realfc)
{
/* initialise Ogre::root */
root=newOgre::Root(plugin,"ogre.cfg","ogre.log");
if(!root->restoreConfig())/* le fichier de config ogre.cfg exist ? */
{
if(!root->showConfigDialog())/* affiche un menu 'ogre' de configuration du système de rendu et enregistre les paramètres dans ogre.cfg : pas besoin de reconfigurer à chaque fois */
{
throwOgre::Exception(0,"ConfigDialogError","showConfigDialog()");
}
}
/* créer le gestionnaire de scène */
scenemanager=root->createSceneManager(Ogre::ST_GENERIC,"SceneManager");/* const String &typeName, const String &instanceName=StringUtil::BLANK */
/* créer la caméra et la configure */
camera=scenemanager->createCamera("Camera");/* createCamera (const String &name) */
camera->setPosition(Ogre::Vector3(px,py,pz));
camera->lookAt(Ogre::Vector3(vx,vy,vz));
camera->setNearClipDistance(nc);
camera->setFarClipDistance(fc);
/* créer la vue */
viewport=window->addViewport(camera);/* la caméra est attachée au viewport de la fenetre */
viewport->setBackgroundColour(Ogre::ColourValue(0.0f,0.0f,0.0f));/* fixer la couleur d'arrière plan */
camera->setAspectRatio(Ogre::Real(viewport->getActualWidth())/Ogre::Real(viewport->getActualHeight()));/* fixer le ratio de la cam */
larles
Messages postés1Date d'inscriptionmardi 19 décembre 2000StatutMembreDernière intervention19 août 2008 19 août 2008 à 14:19
Tu ne fais pas tes captures d'evenements, alors tu ne recois rien.
OIS te demande de forcer les capture via les methodes capture. Il te suffit a chaque frame de faire un capture() sur ton OIS::Keyboard et ton OIS::Mouse pour que tes methodes surchargees soient appelles.