salut,

mon programme choisie un module aléatoirement dans un fichier xml et le charge.
ensuite, j'aimerai récupérer la position de plusieurs bones du module et j'arrive à récupérer la position d'un bone mais pas de plusieurs de manière récursive.

mon code pour récupérer la position d'un bone, qui compile et fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
        moduleNode=my_scene->CreateChild("module");
        moduleNode->SetPosition(Vector3(0,0,0));
        AnimatedModel* moduleObject=moduleNode->CreateComponent<AnimatedModel>();
        moduleObject->SetModel(cache->GetResource<Model>(modulePath));
        moduleObject->SetMaterial(cache->GetResource<Material>(moduleTexturePath));
        exit1=moduleNode->GetChild("exit1", true);
        exit1Pos=exit1->GetWorldPosition();
        exit1PosX=exit1Pos.x_;
        exit1PosY=exit1Pos.y_;
        exit1PosZ=exit1Pos.z_;
mon code pour récupérer plusieurs positions afin de les stocker, qui compile mais crash l'application comme indiqué dans les commentaires :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
        moduleNode=my_scene->CreateChild("module");
        moduleNode->SetPosition(Vector3(0,0,0));
        AnimatedModel* moduleObject=moduleNode->CreateComponent<AnimatedModel>();
        moduleObject->SetModel(cache->GetResource<Model>(modulePath));
        moduleObject->SetMaterial(cache->GetResource<Material>(moduleTexturePath));
        //
 
 
        for(listNumber=0;listNumber<exits;listNumber++)
        {
            std::string exit = ("exit");
            {
                std::ostringstream ss;
                ss<<listNumber;
                std::string s(ss.str());
                exit.append(s);
            }
            const char* exitX = exit.c_str();
 
            Node* exitNode = moduleNode->GetChild(exitX, true);  // this one works
 
            //Vector3 exitPos= exitNode->GetWorldPosition();   //not this one, compile but crash the app
 
            //float exitPosX=exitPos.x_;
            //float exitPosY=exitPos.y_;
            //float exitPosZ=exitPos.z_;
 
        }
quelqu'un peut me dire ce qui cloche ?

merci.