在Sprite Kit中实现bodyWithBodies

时间:2014-07-14 02:20:05

标签: ios sprite-kit skphysicsbody skshapenode

我正在使用Apple的Sprite Kit来创建游戏,目前我已经绘制了一个类似于以下内容的SKShapeNode对象:

enter image description here

我的实际精灵有圆角,但为了简单起见,我试图让所有东西都先处理这个形状。我能够完美地绘制精灵。但是,我无法创建一个物理体来覆盖精灵。我希望精灵能够识别其表面上任何位置的碰撞,所以我想要一个仅覆盖深灰色区域的物理体。另外,我希望精灵能够响应力和冲动,所以我需要一个基于音量的物理体。

我的第一个想法是简单地使用我用于为精灵创建图像的CGPathRef,并将其传递给bodyWithPolygonFromPath方法以创建相应的物理主体。我发现这不起作用,因为我的形状不凸。

所以,现在我想我应该能够使用bodyWithBodies创建一个适当形状的物理体。我想创建三个矩形物理主体(一个覆盖灰色区域的左侧,一个覆盖顶部,一个覆盖右侧),并使用它们创建一个物理主体,其区域覆盖我的精灵的灰色区域使用这个:

    mySprite.physicsbody = [SKPhysicsBody bodyWithBodies:@[body1, body2, body3]];

但是,我遇到的主要问题是正确定位进入数组的各个实体,并将其传递给bodyWithBodies方法。通过使用上述方法,我显然无法控制这些物理主体相对于彼此放置的位置。结果是所有三个物理实体在mySprite的中心堆叠在一起。

在将物理实体传递给bodyWithBodies方法之前,你究竟应该如何将物理实体相对于彼此放置?

0 个答案:

没有答案
相关问题