スプライトを動かしているマウスジョイントが解放されたとき(スプライトがまだ動いている場合でも)にスプライトの正確な位置を取得して表示しようとしています。私はCocos2dとBox2dを使用しています。以下は、コードccTouchesEndedメソッドです。
ccTouchesEnded:
- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
if (mouseJoint)
{
b2Fixture *fixture;
CCSprite *mySprite = (CCSprite *) fixture->GetUserData();
NSInteger attachedSprite = mySprite.tag;
if (attachedSprite == 1) {
CGPoint spritePosition = mySprite.position;
CCLOG(@"the sprite position is x:%0.2f, y:%0.2f", spritePosition.x, spritePosition.y);
}
world->DestroyJoint(mouseJoint);
mouseJoint = NULL;
}
}
次の行を指すEXC_BAD_ACCESSエラーが発生し続けます。
CCSprite *mySprite = (CCSprite *) fixture->GetUserData();
何が悪いのかよくわかりません。助けてください。