Historique des modifications - Message

Message #11507

Sujet: Realiser une seule foi l'action


Type Date Auteur Contenu
Dernière modification 19-03-2014 22:19:57 jonath313
Bonjour,

Cela fait plusieurs fois que je suis confronté au même problème. J'aimerais appeler dans ma boucle de rendu une fonction qui fait un Node->removeChild(). Le soucis c'est que selon les conditions que je test l'appel à ma fonction s'effectue plusieurs fois et ducoups le removeChild() est appelé alors que l'enfant n'existe plus. J'ai tout essayé avec des test booleens mais rien n'y fait j'ai le droit à un jolis plantage !

Code c++ :

void Player::perdreBrasDroit(){
        NodePlayer->removeChild(NBrasDroite);
}

Dans ma boucle de rendu :

Code c++ :

   OdrPdrBrasDt_1 = player1.TestOfCollisionWithCubePlayer(player2.getPlayer()); ------> Test de collision entre deux nodes

   if(OdrPdrBrasDt_1 == true){
                player1.perdreBrasDroit();
        }

Enfait je voudrais realiser ce changement d'etat :

Ordre de perte du bras (donnee d'entree) :               Resultat de ma variable de test pour l'appel de la fonction :
0                                                                                         1
0                                                                                         1
0                                                                                         1
0                                                                                         1
1 -> passage de collision entre les nodes                                                 0 -> un seul changement
1                                                                                         1
1                                                                                         1
1                                                                                         1
0                                                                                         1
0                                                                                         1

Si quelqu'un à la réponse, merci d'avance.
Création du message 19-03-2014 21:27:47 jonath313
Bonjour,

Cela fait plusieurs fois que je suis confronté au même problème. J'aimerais appeler dans ma boucle de rendu une fonction qui fait un Node->removeChild(). Le soucis c'est que selon les conditions que je test l'appel à ma fonction s'effectue plusieurs fois et ducoups le removeChild() est appelé alors que l'enfant n'existe plus. J'ai tout essayé avec des test booleens mais rien n'y fait j'ai le droit à un jolis plantage !

Code c++ :

void Player::perdreBrasDroit(){
        NodePlayer->removeChild(NBrasDroite);
}

Dans ma boucle de rendu :

Code c++ :

   OdrPdrBrasDt_1 = player1.TestOfCollisionWithCubePlayer(player2.getPlayer()); ------> Test de collision entre deux nodes

   if(OdrPdrBrasDt_1 == true){
                player1.perdreBrasDroit();
        }

Enfait je voudrais realiser ce changement d'etat :

Ordre de perte du bras (donnee d'entree) :               Resultat de ma variable de test pour l'appel de la fonction :
0                                                                                         1
0                                                                                         1
0                                                                                         1
0                                                                                         1
1 -> passage de collision entre les nodes                                                 0 -> un seul changement
1                                                                                         1
1                                                                                         1
1                                                                                         1
0                                                                                         1
0                                                                                         1

Si quelqu'un à la réponse, merci d'avance.

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
108 invités en ligne
membre en ligne: -
RSS Feed