Pages: 1
Bonsoir je suis débutant avec irrlicht et je tente de développer un simple jeu de plateau (jeu de go plus exactement) pour l'instant j'ai un mesh en forme de pierre de go que je peut balader sur le Goban (plateau du jeu de go),je voudrais lors d'un clic placer la pierre en question , problème la pierre ce place le programme cesse de fonctionner plante et puis demande a être fermer ,je vous poste mon code en espérant recevoir un peu d'aide ^^ ,aussi je n'aipas beaucoup d'idées de comment structurer mon programme pour gerer les évènement sur le code présenter j'utilise une Class imbriquer ,peut etre y'a t'il un meilleur moyen (je suis a l’écoute de toute proposition ^^).
l'erreur ce produit lors de l’appelle de la fonction addStone
Hors ligne
Si j'étais toi, je mettrais mes variables (surtout les pointeurs) en variables de la classe Display. Sinon pour libérer la mémoire...
Donc : IrrlichtDevice* device, IVideoDriver* driver, ISceneManager* sceneManager, CEventReceiver receiver et tes trois nodes, je les mettrais en variables de classe. Tu n'auras plus besoin de passer sphere en paramètre.
De plus, si je ne me trompe pas, CEventReceiver receiver est détruite à la fin du constructeur donc la référence que tu donnes à device n'existe plus et l'espace mémoire que device va essayer de lire sera certainement réatribué à un autre programme par l'OS.
Pour event receiver fait plutot :
Dans Display.h
CEventReceiver* receiver;
Dans Display.cpp
CEventReceiver receiver = new CEventReceiver();
device->setEventReceiver(receiver);
Hors ligne
j'ai écouté tes conseil et effectivement ça a régler le problème de plantage ^^ je te remercie d'avoir pris de ton temps pour m'aider .
Hors ligne
De rien, il n'y a plus grand monde sur le forum mais on aide quand l'on peut.
Hors ligne
Pages: 1