Message #10708
Sujet: Test de gravité - Irrlicht + Newton
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Création du message | 24-08-2012 06:04:50 | johnplayer |
Normal! Quand est-ce que tu appelles Physics::OnEvent?
1/ Physics ne dérive pas de IEventReceiver! 2/ Physics n'est pas le IEventReceiver attaché au device! Créé un eventReceiver dans la partie de ton code qui contient ce qui appartient à Irrlicht. Je ferais comme ça : class Engine : public IEventReceiver { // classe principale contenant ce qui concerne Irrlicht // contient aussi les pointeurs vers tes autres classes comme Physics Engine(); virtual~Engine(); //! contient le code pour les événements virtual bool OnEvent(); //! créé la fenetre et la classe Physique (instance de Physics) bool init(); //! boucle de rendu void run(); //! Quitte le jeu (quitte proprement irrlicht, et détruit l'instance Physique) u32 Quit(); } class Physics { // contient ce qui concerne Newton } Physics ne reçoit des infos appartenant a engine QUE par arguments (dans ces fonctions ou constructeurs) Engine a un pointeur sur Physics pour faire appel à ses fonctions, ainsi que le créé et le détruire. Le code sera déjà mieux structuré. Parce que tu créé une classe afin de séparer Irrlicht et Newton et ensuite tu mets du code Irrlicht (OnEvent) dans le code Newton. Garde à l'esprit que la base de ton code est Irrlicht donc c'est lui qui gère l'intégration des autres parties (newton, irrklang...). Et que les autres parties sont autonomes! Newton fait des "trucs Newtonien" et Irrlicht appelle ces "trucs Newtonien". Si tu gardes cette optique, tu devrais pouvoir faire un code cohérent, sinon tu te seras compliqué la vie pour rien puisque ton code équivaudra à avoir tout codé dans le "main". Ceci dit, je dis ça pour t'aider. Après libre à toi de le suivre ou non. Mais saches qu'il est plus facile de debugger un code bien structuré et que moi ainsi que les autres sur le forum t'aideront plus facilement aussi. |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 160 invités en ligne membre en ligne: - RSS Feed |