Ios 将多个碰撞造型附着到单个刚体
我已经用iOS+Cocos2d+Chipmunk创建了一个单人游戏,我正在寻找一个解决方案,演示如何将多个碰撞形状附加到一个刚体上。我有一个不规则形状的目标(一辆车),我需要检测碰撞。玩家可以从侧面看到目标(汽车),其他物体可能会从多个方向撞击目标,而不仅仅是从前面或后面。该形状使我无法使用单个cpPolyShape并实现逼真的碰撞效果。两个CPPolyShape(矩形)堆叠在彼此的顶部,底部矩形更大,应该可以实现这一目的 有人能举例说明如何做到这一点吗 我阅读了花栗鼠关于cpShape的文档,在“注释”部分的页面底部,它指出“可以将多个碰撞形状附加到刚体”,但没有提供示例Ios 将多个碰撞造型附着到单个刚体,ios,cocos2d-iphone,chipmunk,Ios,Cocos2d Iphone,Chipmunk,我已经用iOS+Cocos2d+Chipmunk创建了一个单人游戏,我正在寻找一个解决方案,演示如何将多个碰撞形状附加到一个刚体上。我有一个不规则形状的目标(一辆车),我需要检测碰撞。玩家可以从侧面看到目标(汽车),其他物体可能会从多个方向撞击目标,而不仅仅是从前面或后面。该形状使我无法使用单个cpPolyShape并实现逼真的碰撞效果。两个CPPolyShape(矩形)堆叠在彼此的顶部,底部矩形更大,应该可以实现这一目的 有人能举例说明如何做到这一点吗 我阅读了花栗鼠关于cpShape的文档,
我目前有一个工作,功能项目,并试图作出一些最后的调整,以改善游戏 调用cp*ShapeNew()时,第一个参数是要将其附加到的主体。简单制作多个共享同一身体的形状。没有技巧。您可以添加该方法 在.h文件中添加原型
static int FunctionName (cpArbiter *arb, cpSpace *space, void *unused);
现在在.m文件中,将代码添加为
cpSpaceAddCollisionHandler(<space name>, <cpCollisionType of body a >, <cpCollisionType of body b>, <cpCollisionBeginFunc name>, <cpCollisionPreSolveFunc preSolve>, <cpCollisionPostSolveFunc postSolve>, <cpCollisionSeparateFunc separate>, <void *data>);
static int FunctionName(cpArbiter *arb, cpSpace *space, void *unused)
{
cpShape *a, *b; cpArbiterGetShapes(arb, &a, &b);
printf("\n Collision Detected");
return 1;
}
cpSpaceAddCollisionHandler(,,,);
静态int函数名(cpArbiter*arb、cpSpace*空格、void*未使用)
{
cpShape*a,*b;cparbitergetshape(arb,&a,&b);
printf(“\n检测到冲突”);
返回1;
}
注意:-不要忘记给出两个车身的碰撞类型