Cocos2d iphone 多种形态(花栗鼠)

Cocos2d iphone 多种形态(花栗鼠),cocos2d-iphone,chipmunk,Cocos2d Iphone,Chipmunk,因此,我创建了两个形状(确切地说是多边形),我需要能够将它们附加到单个CCSprite/图像,并使它们保持在我创建它们时的位置。有办法吗 简言之,这就是我想要实现的目标 我有一个轮胎(CCSprite/image),我创建了两个多边形/cpshape,一个用于轮胎顶部,一个用于轮胎底部,这样当用户投掷足球时,它只能穿过它的中心 我需要将顶部多边形连接到轮胎顶部,将底部多边形连接到轮胎底部 我还需要能够使用轮胎上的碰撞。例如,如果用户投掷足球,它击中轮胎底部,我需要能够使轮胎前后摆动,两个形状都

因此,我创建了两个形状(确切地说是多边形),我需要能够将它们附加到单个CCSprite/图像,并使它们保持在我创建它们时的位置。有办法吗

简言之,这就是我想要实现的目标

  • 我有一个轮胎(CCSprite/image),我创建了两个多边形/cpshape,一个用于轮胎顶部,一个用于轮胎底部,这样当用户投掷足球时,它只能穿过它的中心
  • 我需要将顶部多边形连接到轮胎顶部,将底部多边形连接到轮胎底部
  • 我还需要能够使用轮胎上的碰撞。例如,如果用户投掷足球,它击中轮胎底部,我需要能够使轮胎前后摆动,两个形状都随之移动
因此,我的问题实际上只是如何将两个CPShape附加到一个图像/CCSprite

我创建了如下形状:

cpShape *UpperShape = [game.spaceManager addPolyAt:cpv(70,195) mass:STATIC_MASS rotation:0 numPoints:6 points:cpv(2,12), cpv(28,8), cpv(33,0), cpv(36,-10), cpv(-33,-10), cpv(-20,8)];

cpShape *LowerShape = [game.spaceManager addPolyAt:cpv(70,125) mass:STATIC_MASS rotation:0 numPoints:7 points:cpv(34,8), cpv(31,0), cpv(25,-9), cpv(7,-13), cpv(-20,-8), cpv(-30,0), cpv(-35,8)];

p.S我正在使用spaceManager+花栗鼠

除非spaceManager为您做了些什么,否则由您决定CPShape和CCSprite的连接方式。我要做的就是子类CCSprite和override-draw。在-draw函数中,将精灵的位置和旋转更新到组合的两个形状的中心


制作两个精灵并将一个精灵附加到一个形状可能会更容易。

除非spaceManager为您做了什么,否则由您决定如何附加CPShape和CCSprite。我要做的就是子类CCSprite和override-draw。在-draw函数中,将精灵的位置和旋转更新到组合的两个形状的中心


制作两个精灵并将一个精灵附加到一个形状可能更容易。

基本上,您创建一个cpBody,并将两个cpShape附加到它。使用CpPhysicsPrite可以将精灵附加到身体上,这是您试图获得的结果。

基本上,您可以创建一个cpBody,并将2个cpShape附加到它上。使用CCPhysicsPrite可以将精灵附加到身体上,这是您试图获得的结果