
224
|
第
7
章
一旦物体已经被创建好之后,我们就不能修改物体的碰撞体形状了。如果我
们要让精灵变成另外一个形状,只能替换精灵的
SKPysicsBody
。
7.5
速度
问题
我们想让一个物体以指定速度、沿指定方向开始运动。
解决方案
要改变一个物体的速度,可以修改它的
velocity
属性:
//
开始以每秒
500
个单位的速度移动(极快)
sprite.physicsBody?.velocity = CGVector(dx: 0, dy: 500)
讨论
改变一个物体速度的最简单方法是直接修改它的
velocity
属性。这是一个
CGVector
类型,以像素
/
秒为单位表示移动速度。
注意,直接修改速度能达到一种很好的效果,我们可以用这种方式设置物体的初速
度。例如,我们想让火箭一离开发射器,就以非常快的速度移动。我们可以创建一
个火箭精灵,然后立即设定它的
velocity
属性,这样它就会开始移动。
如果想让它的移动变得更真实,可以在这个物体上施加一个力(参见
7.14
节)。另外,
如果想精确地逐帧控制物体的移动,可以将物体设置为静止物体(参见
7.3
节),
可以手动修改物体的位置或者使用动作
SKAction
(参见
6.9
节)。
7.6
质量
、
大小和密度
问题
我们想指定物体的重量。