Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何找到sprite和bezier之间的碰撞检测_Iphone_Objective C_Cocos2d Iphone_Collision Detection_Box2d Iphone - Fatal编程技术网

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

Iphone 如何找到sprite和bezier之间的碰撞检测,iphone,objective-c,cocos2d-iphone,collision-detection,box2d-iphone,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-&g

我通常使用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之间的碰撞检测。非常感谢您的帮助。谢谢

这是我的贝塞尔

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

注意:我为贝塞尔使用了level helper。

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