
2D
图形和
Sprite Kit
|
205
因为在粒子喷射器编辑器中的各种参数实在太多,因此创建一个我们想要的粒子效
果,实际上是一件非常需要艺术细胞,而不是科学技能的工作。设置这些参数会耗
去我们大量的时间,要想达到理想的效果很往往需要经过大量的尝试。
6.17
抖动屏幕
问题
我们需要让屏幕抖动,假设爆炸发生时,我们需要让场景视图模拟“地震”的感觉
以增强玩家体验。
解决方案
创建一个空节点,暂且命名为
cameraNode
。将它添加到场景中。然后将其他正常
的需要加入场景的节点都添加到这个
cameraNode
节点中。
在场景的代码中加入一个方法:
func shakeNode(node: SKNode) {
//
取消仍然还未完成的“地震”
node.removeAction(forKey: "shake")
//
“地震”所抖动的次数
let shakeSteps = 15
//
每次抖动需要移动的距离
let shakeDistance = 20.0
//
“地震”持续时间
let shakeDuration = 0.25
//
一个数组,用于存放“地震”中的每次抖动
var shakeActions : [SKAction] = []
//
根据抖动次数进行循环
for i in 0...shakeSteps {
//
计算单独的一次抖动需要多少时间
let shakeMovementDuration : Double = shakeDuration ...