0

特定の位置に到達するまで CCPhysicsSprite ボディの位置を更新する Sprite クラス内のメソッドを作成しました。以下のコード:

-(void)updatePhyscisSprite    {

if (phySpr.b2Body->GetPosition().y < 200.0/PTM_RATIO) {

    b2Vec2 force = b2Vec2(0.0, 12.0*phySpr.b2Body->GetMass());
    phySpr.b2Body->ApplyForce(force, phySpr.b2Body->GetWorldCenter());
    }
if (phySpr.b2Body->GetPosition().y > 200.0/PTM_RATIO) {
    bWorld->DestroyBody(phySpr.b2Body);
    phySpr.b2Body = NULL;
    [bLayer removeChild:phySpr];

}
}

次の行で EXC_BAD_ACCESS エラーが発生し続けます。

if (phySpr.b2Body != NULL) { // EXC_BAD_ACCESS ERROR

メソッドが 1/60 秒ごとに呼び出されるため、ボディが NULL のときに null をチェックすると問題が発生する気がします。これを修正する方法がよくわかりません。

4

1 に答える 1