Historique des modifications - Message

Message #10461

Sujet: Problème étrange avec la fonction getSceneNodesFromType()


Type Date Auteur Contenu
Dernière modification 18-04-2012 14:51:37 AntiLoxy
Bonjour à tous, alors voilà je vous expose la situation :

Dans un premier temps mon programme charge une scene irrlicht puis vide son scenemanager de façon à la supprimer.
Ensuite la même scene irrlicht est recharger.
Seulement pour la même scene je n'ai pas le même nombre de noeuds avec la méthode size().
Dans le premier cas j'ai 8 noeuds, tantdis que dans le second j'ai 10 noeuds, ce qui engendre un décallage complet avec une fonction qui gère les collisions sur ces objets.

Petit bout de code pour illustrer :

core::array<scene::ISceneNode *> nodes;
...
    while (device->run())
    {
        if (device->isWindowActive())
        {
                ...
        smgr->clear(); camera = smgr->addCameraSceneNode(0,core::vector3df(0,0,0),core::vector3df(0,0,0)); SetCamera(camera, 1); // Suppression SceneManager
		smgr->loadScene("NG-map0.irr"); nodes = NULL; // Rechargement de la scène irrlicht et Réinitialisation du tableau de pointeurs
		smgr->getSceneNodesFromType(scene::ESNT_ANY, nodes); // Récupération des noeuds de la scène
                ...
         }
    }
Création du message 18-04-2012 14:51:01 AntiLoxy
Bonjour à tous, alors voilà je vous expose la situation :

Dans un premier temps mon programme charge une scene irrlicht puis vide son scenemanager de façon à la supprimer.
Ensuite la même scene irrlicht est recharger.
Seulement pour la même scene je n'ai pas le même nombre de noeuds avec la méthode size().
Dans le premier cas j'ai 8 noeuds, tantdis que dans le second j'ai 10 noeuds, ce qui engendre un décallage complet avec une fonction qui gère les collisions sur ces objets.

Petit bout de code pour illustrer :

core::array<scene::ISceneNode *> nodes;
...
    while (device->run())
    {
        if (device->isWindowActive())
        {
                ...
        smgr->clear(); camera = smgr->addCameraSceneNode(0,core::vector3df(0,0,0),core::vector3df(0,0,0)); SetCamera(camera, 1); // Suppression SceneManager
		smgr->loadScene("NG-map0.irr"); nodes = NULL; // Rechargement de la scène irrlicht et Réinitialisation du tableau de pointeurs
		smgr->getSceneNodesFromType(scene::ESNT_ANY, nodes); // Récupération des noeuds de la scène
                ...
         }
    }

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
104 invités en ligne
membre en ligne: -
RSS Feed