在直线水平线移动box2d体时,EXC_BAD_ACCESS错误和奇怪的行为

时间:2013-04-17 08:20:08

标签: cocos2d-iphone box2d exc-bad-access physics box2d-iphone

我遇到了一些让box2d身体直线移动的问题。有时我运行代码它会工作(身体沿直线移动),有时它会随着移动而下降。下面是我在update方法中调用的scheduleSprite方法。

-(void)scheduleSprite {

if ([testSprite physicsSprite].b2Body != NULL) {
    b2Vec2 force = b2Vec2(-5, 10.0 * [testSprite physicsSprite].b2Body->GetMass());
    [testSprite physicsSprite].b2Body->ApplyForce(force, [testSprite physicsSprite].b2Body->GetWorldCenter() );
}
if ([testSprite physicsSprite].position.x < 0) {
    world->DestroyBody([testSprite physicsSprite].b2Body);
    [testSprite physicsSprite].b2Body = NULL;
}
}

此外,当满足第二个if条件时,我得到指向行

的EXC_BAD_ACCESS
b2Vec2 pos  = _b2Body->GetPosition();

中的

-(CGAffineTransform) nodeToParentTransform

方法,在类

CCPhysicsSprite.mm

感谢任何帮助。

0 个答案:

没有答案