
物理学
|
219
碰撞体
碰撞体定义了物体的形状。常见的形状如正方形、矩形、圆形和多边形。在
Sprite Kit
中,所有物体都有碰撞体,它在我们创建物体时定义(在其他一些物
理引擎中,物体和碰撞体是不同的概念)。
边缘碰撞体
边缘碰撞体是一种碰撞体,它由一条或多条细线构成。边缘碰撞体在创建墙或
障碍物时非常有用,因为它们一般都非常简单且便于模拟。具有边缘碰撞体的
物体永远不会运动,它是静态物体。
碰撞
当两个物体发生接触时,我们称之为碰撞。注意,碰撞和碰撞体是不同的概念,
碰撞是一个会发生的事件,而碰撞体仅仅是一个形状。发生碰撞时,我们可以
从碰撞中获得这些信息,如发生碰撞的是哪些物体,它们碰撞的位置等。
连接
连接是两个物体之间的一种关系。存在有几种不同的连接。常见的是“
pin
”连
接,即一个物体能够旋转,但不能从另一个物体的某个相对点离开。另一种是
“
spring
”连接,一个物体能够离开另一个物体,但当它运动到距离另一个物
体的某个范围时,它又会被弹回第一个物体。
7.2
为精灵添加物理特性
问题
我们想让精灵受重力和其他物理力量的影响。
解决方案
要让一个
SKSpriteNode
具有物理特性,需要创建一个
SKPhysicsBody
对象,然后
赋给节点的
physicsBody
属性:
// scene
是一个
SKScene
对象
let sprite = SKSpriteNode(color:SKColor.white,
size:CGSize(width: 100, height: 50)) ...