Pages: 1
Salut à tous, j'ai un problème pour supprimer les nodes de ma scene irrlicht, (j'ai essayé avec remove, removeAll, drop, etc...) rien ne marche.
Je pense que le problème vient du fait que j'alloue une zone mémoire comme ceci pour mes meshs :
scene::IAnimatedMeshMD2** modele;
scene::IAnimatedMeshSceneNode** Nmodele;
modele = (scene::IAnimatedMeshMD2**) calloc(sizeof(modele),NombreMeshs);
Nmodele = (scene::IAnimatedMeshSceneNode** ) calloc(sizeof(Nmodele),NombreMeshs);
(j'ai gardé des vieilles habitudes du C ^^)
Pour la suppression voilà comment je m'y prend.
Dans la boucle du device->run() :
if(ref == 1) { Nmodele[1]->remove(); Nmodele[1] = 0; ref = 0; }
À ce niveau là j'ai un jolie segmentation fault, je précise que ce mesh n'est pas utilisé dans le programme à part sa déclaration et initialisation...
Merci de m'éclairer de vos lumieres !
Hors ligne
Salut,
Je ne voudrais pas dire de bêtise, mais lorsqu'on regarde la doc, on ne voit pas de constructeur, soit, cet objet ne peut être alloué que par Irrlicht et personne d'autre. Si tu le fais toi même, alors tu ne peux pas appeler un "remove" qui fait appelle a des mécanismes de suppression interne comme la gestion de référence, notification d'évènements...
Pour l'utiliser, je pense notamment à "getMesh" de la classe ISceneManager.
Proposition:
Bonne journée.
Dernière modification par Gehogor (08-11-2011 09:16:20)
Hors ligne
Toujours le même problème :S je pense que la solution est dans l'utilisation de la template array d'irrlicht, je vais tester ça quant j'aurais le temps.
Hors ligne
Voilà le main.cpp en entier, je n'ai pas de messages d'erreurs (segmentation fault) mais le mesh ne se supprime pas... c'est vraiment une fonction bizare remove !
Hors ligne
tout est dans la doc <<removeAll () Removes all children of this scene node.>>
aucun node n'est parent de nModele[1] donc aucun node n'est suprimmer
essaye donc smgr->clear()
il n'est pas nécéssaire de charger un même mesh pour plusieur nodes, tu gagneras en memoire et temp de chargement
ps: j'ai éditer ton message afin d'utiliser la balise 'Code=cpp' pour la colorisation syntaxique
bonne soiré
Hors ligne
Pages: 1