2

所以我创建了两个形状(确切地说是多边形),我需要能够将它们附加到单个 CCSprite/图像,并让它们保持在我创建它们的位置。有没有办法做到这一点?

所以简而言之,这就是我想要实现的目标。

  • 我有一个轮胎(CCSprite/image),我创建了 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)];

PS我正在使用spaceManager + 花栗鼠

4

2 回答 2

0

除非 spaceManager 为您做某事,否则由您决定 cpShapes 和 CCSprite 如何附加。我要做的就是继承 CCSprite 并覆盖 -draw。在 -draw 函数中,将精灵的位置和旋转更新到组合的两个形状的中心。

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

于 2013-02-02T22:39:49.047 回答
0

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

于 2013-02-18T21:11:15.147 回答