IM制作游戏cocos2d + box2d
。游戏工作正常,但我玩一些b2world时间的推移绞死后(接地线得到的drawDebug模式消失)和我的一些b2bodies'属性成为NAN
。 (我不知道我应该在这里贴上什么码!:()b2World古怪行为(Box2D的cocos2d的+)
是这段代码有问题?
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);
}
}
}
}
开始与世界更新代码,collission回调以及你如何创建和删除主体。 – LearnCocos2D 2013-03-11 09:11:32
感谢好友......我已经调试了我所有的线......我发现有一个表达式,这往往会在我的计算中被零除异常除去,这是一个全球性的... – BaSha 2013-03-12 13:32:16