un autre problème de crash
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:
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:
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.