Swift Sprite-kit SKPhysicsBody

Swift Sprite-kit SKPhyshicsBody

我有一些图像可以检测到它们何时被触摸,我正在使用

plane.physicsBody = SKPhysicsBody(circleOfRadius: plane.frame.height / 2)

但我需要它,所以它是图像的边界,而不是圆形或矩形。

我们有一架飞机,而你想要一个肉体。 您的第一种方法是 circleOfRadius(物理表示是具有给定半径的圆)。您可以使用其他形状,例如 矩形 :

plane.physicsBody = SKPhysicsBody(rectangleOfSize: CGSizeMake(100, height: 100))  

如评论中所述,您还可以使用精灵(纹理)的形状来创建物理体的形状:

plane.physicsBody = SKPhysicsBody(texure: plane.texture!, size: plane.size)

但选择它的一个好方法是:如果您希望您的游戏 运行 在许多不同的设备上流畅运行,请不要确保物理计算变得过于复杂。换句话说,如果你的平面周围有许多物体,它们的物理行为四处移动并相互碰撞,你可以选择使用简化的形状来更有效地处理物理现象,特别是如果一个形状看起来已经很像矩形或圆.