2011-03-28 63 views
2

所以我创建了两个形状(聚的是精确的),我需要能够将其连接到一个单一的CCSprite /图像,并让他们留在,我在创建它们的位置。有没有办法做到这一点?多cpShapes(花栗鼠)

所以总之,这是我想要实现的。

  • 我有一个轮胎(CCSprite /图像)和我已经建立2聚的/ cpShapes,一个顶部和一个用于轮胎的底部,这样当用户抛出一个足球就只能去通过它的中心。
  • 我需要顶端聚附着在轮胎的顶部和底部聚到轮胎
  • 我还需要能够对轮胎使用碰撞的底部。例如,如果用户抛出足球并撞到轮胎的底部,我需要能够使轮胎随着它移动而前后摇摆。

所以我的问题只是如何将两个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 +花栗鼠

回答

0

基本上,你创建一个单一的cpBody,并附加2点cpShape的吧。使用ccPhysicsSprite允许您将精灵附加到正文,这是您试图获得的结果。

0

除非spaceManager做东西给你,这是由你来决定如何cpShapes和CCSprites重视。我所要做的只是CCSprite的子类并重写-draw。在-draw函数中,将精灵的位置和旋转更新为合并的两个形状的中心。

它可能会更容易进行两次精灵和一个Sprite附加到一个形状虽然。