Bonjour,
Je cherche à implémenter un système de Gamestates, après des recherches je tombe sur sa(http://de.wikibooks.org/wiki/Irrlicht_- … Gamestates).
J'ai un peu regarder et je vois des trucs qui cloche :
->device->setEventReceiver(gamestate); gamestate étant un vector de class simple...
-> comment implémenter un GameState, car si on par sur la base donnée (GameState.h/cpp) on a rien : pas de device...
Quelqu'un a t'il déjà implémenté un système semblable ?
RVM
Hors ligne
ce n'est pas device->setEventReceiver(gameStates); mais device->setEventReceiver(gameStates[i]); ce qui est bien diffrent, l'un pointe sur l'array, l'autre sur un élément de l'array (Intro qui est dériver de IEventReceiver), c'est donc bon
ton GameState n'a pas beusoin d'un pointeur vers ton device, il est juste donner au device qui va apeller ça fonction OnEvent(const irr::SEvent&) !
Hors ligne
Effectivement j'avais pas remarquer que GameState héritait de IEventReceiver...
Mais pour créer un GameState s'est encore brouillé pour moi : par exemple pour l'intro avec Intro.h
L'auteur commente qui faut définir la gui dans la méthode OnEnter. Mais comment ajouter quelque chose sans avoir un pointeur du device ?
Pour ajouter une image par ex il me faut récupérer le "VideoDriver",pour cela il me faut le device.. Et ainsi de suite ou j'ai raté quelque chose...
RVM
Dernière modification par RVM (22-03-2012 21:04:37)
Hors ligne
non ta tout juste, et cela n'est pas spécifier dans le tuto ce qui est normal étant donenr que ce n'est qu'un exemple, ton gamestate peut tout a fait être tout ce que tu veut sans pour autemps avoir beusoin de quoi que ce soit ... bref
tu dit que t'est gamestate prenne en parametre de construction le device (irr::IrrlichtDevice*) que tu stock en variable de la class
Hors ligne
J'avais bien vu la chose alors,
Merci pour ta confirmation,
RVM
Hors ligne