我正在用cocos2d + box2d.game制作游戏,运行得很好,但是玩了一段时间后,我的b2world挂起了(在drawDebug模式下地线消失了),我的b2bodies的一些属性变成了NAN。(我不知道我应该在这里粘贴什么代码!) :( )
这段代码有问题吗??
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);
}
}
}
}发布于 2013-03-12 21:33:10
我已经调试了我的所有行..and,我发现在我的计算中有一个表达式倾向于被零异常除以,这让整个世界都感到厌烦……
发布于 2013-03-12 14:19:36
在init事件中正确地创建World,如下所示
b2Vec2重力= b2Vec2(0.0f,-9.8f);_world =新b2World(重力);
https://stackoverflow.com/questions/15331672
复制相似问题