Cocos2d iphone 如何将对象附着到box2d cocos2d中的旋转圆?

Cocos2d iphone 如何将对象附着到box2d cocos2d中的旋转圆?,cocos2d-iphone,box2d,Cocos2d Iphone,Box2d,我试图让一个物体附着在一个旋转的圆的碰撞点上,但是玩家需要在玩家身上附着一个恒定的点。例如,玩家前后移动,当用户触摸屏幕时,玩家会跳起来,但我需要的是,当玩家与圆圈碰撞时,它会将腿固定在圆圈上,并继续与圆圈一起旋转。所以我想知道如何在cocos2d-box2d中创建这种碰撞连接?当检测到用户和圆之间的碰撞时,可以运行一个调用回调函数(可能是CCCallFuncND)的操作。回调函数可以被传递到两个实体的指针(用NSValue valueWithPointer包装),并在它们之间创建任意连接。首先

我试图让一个物体附着在一个旋转的圆的碰撞点上,但是玩家需要在玩家身上附着一个恒定的点。例如,玩家前后移动,当用户触摸屏幕时,玩家会跳起来,但我需要的是,当玩家与圆圈碰撞时,它会将腿固定在圆圈上,并继续与圆圈一起旋转。所以我想知道如何在cocos2d-box2d中创建这种碰撞连接?

当检测到用户和圆之间的碰撞时,可以运行一个调用回调函数(可能是CCCallFuncND)的操作。回调函数可以被传递到两个实体的指针(用NSValue valueWithPointer包装),并在它们之间创建任意连接。首先实例化所需类型的b2JointDef,将该关节的bodyA和bodyB定义为您希望“粘在一起”的两个实体,然后调用b2World->CreateJoint()


在将玩家身体附加到圆圈身体上的特定点时,必须通过关节定义的某些参数(如anchorPoint)来实现。例如,B2PrismaticPoints具有定义关节运动范围中心的anchorPoint。

我相信box2d的flash版本具有b2WeldJoint。也许你可以从中调整一个解决方案。