如何在sprite和bezier之间找到碰撞检测

时间:2012-07-01 16:07:10

标签: iphone objective-c cocos2d-iphone collision-detection box2d-iphone

我通常使用box2d在两个精灵之间进行碰撞检测,如下面的代码

- (void)beginContact:(b2Contact *)contact {

b2Fixture *fixtureA = contact->GetFixtureA();
b2Fixture *fixtureB = contact->GetFixtureB();
b2Fixture *fixtureC = contact->GetFixtureA();

b2Body *bodyA = fixtureA->GetBody();
b2Body *bodyB = fixtureB->GetBody();
b2Body *bodyC = fixtureC->GetBody();
CCSprite *spriteA = (CCSprite *) bodyA->GetUserData();
CCSprite *spriteB = (CCSprite *) bodyB->GetUserData()
LHBezierNode* bez = (LHBezierNode *) bodyC->GetUserData();
if ((spriteB == _enemy && spriteB == _hero) ||
(spriteA == _enemy && spriteA == _hero)) {
NSLog(@"enemy touched");
}
}

但我很困惑如何检测bazier和sprite之间的碰撞检测。非常感谢。谢谢

这是我的bezier

LHBezierNode* myBezier = [LH bezierNodeWithUniqueName:@"BezierName"];

注意:我使用级别助手为bezier。

1 个答案:

答案 0 :(得分:0)

我通过向brezier添加标签解决了这个问题,谢谢