im jeu prise avec cocos2d + box2d
.game fonctionne très bien, mais après un certain temps de jouer mon b2world va pendu (ligne de terre se disparu en mode drawDebug) et certains des attributs de mes b2bodies devenir NAN
. (je ne sais pas quel code dois-je coller ici! :()b2World se comporte bizarrement (BOX2D + Cocos2d)
ce code est problématique ??
std::vector<b2Body *>toDestroy;
//Iterate over the bodies in the physics world
for (b2Body* b = world->GetBodyList(); b; b = b->GetNext())
{
if (b->GetUserData() != NULL) {
//Synchronize the AtlasSprites position and rotation with the corresponding body
CCSprite *myActor = (CCSprite*)b->GetUserData();
myActor.position = CGPointMake(b->GetPosition().x * PTM_RATIO, b->GetPosition().y * PTM_RATIO);
myActor.rotation = -1 * CC_RADIANS_TO_DEGREES(b->GetAngle());
if(myActor && myActor.tag==5){
if([myActor opacity]==0){
toDestroy.push_back(b);
}
}
}
}
commencer par le code de mise à jour du monde, collission rappels et comment vous créez et supprimez des corps. – LearnCocos2D
merci mon pote ... j'avais débogué mes toutes les lignes ..et j'ai trouvé qu'il y avait une expression qui tend à diviser par zéro exception dans mon calcul qui bloquait tout le monde ... – BaSha