
194
|
第
6
章
6.9
移动精灵和标签
问题
我们想让精灵和文字标签在场景中移动。
解决方案
我们可以通过
SKAction
对象让场景中的节点执行某个动作。所谓的动作包括让场
景中的节点移动位置,改变颜色、透明度或大小。
下列代码让节点在向右上角移动的同时进行淡出,然后执行某些代码,最后从场景
中移除:
//
在这个示例中,节点可以是任意
SKNode
类
//
这个动作向上移动
100
像素,向右移动
100
像素,用时
1
秒
let moveUp = SKAction.move(by: CGVector(dx: 100, dy: 100), duration: 1.0)
//
这个动作是淡出
0.5
秒
let fadeOut = SKAction.fadeOut(withDuration: 0.5)
//
这个动作是执行一个代码块
let runBlock = SKAction.run {
println("Hello!")
}
//
这个动作是删除节点
let remove = SKAction.removeFromParent()
//
同步执行动作(组):移动、淡出和代码块
let moveAndFade = SKAction.group([moveUp, fadeOut])
//
按顺序执行动作(序列):先移动并淡出,然后执行代码块,最后删除节点
let sequence = SKAction.sequence([moveAndFade, runBlock, remove])
//
运行前面定义的所有 ...