所以我创建了两个形状(准确地说是poly),我需要能够将它们附加到单个CCSprite / image,并让它们保持在我创建它们的位置。有没有办法做到这一点?
所以简而言之,这就是我想要实现的目标。
所以我的问题实际上只是如何将两个cpShapes附加到一个图像/ 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 + chipmunk
答案 0 :(得分:0)
除非spaceManager为您做某事,否则您需要确定cpShapes和CCSprites的附加方式。我要做的只是子类CCSprite和override -draw。在-draw函数中,将精灵的位置和旋转更新为两个形状的中心。
制作两个精灵并将一个精灵附加到一个形状可能会更容易。
答案 1 :(得分:0)
基本上,您创建一个cpBody,并将2个cpShape附加到它上面。使用ccPhysicsSprite可以将精灵附加到正文,这是你想要获得的结果。