
188
|
第
6
章
精灵一开始是不可见的,除非我们把它放一个
SKScene
中。也就是说,我们需要手
动调用
SKScene
的
addChild
方法:
myScene.addChild(sprite)
精灵的位置(实际上,包括任何
Node
的位置)都是相对于父精灵锚点位置的。换
句话说,如果我们将精灵添加到另一个精灵中作为其子节点的话,就可以让子精灵
随父精灵一起运动。
6.5
文本精灵
问题
我们想在
Sprite Kit
场景中显示文本。
解决方案
创建一个
SKLabelNode
对象,然后添加到
SKScene
中:
let textNode = SKLabelNode(fontNamed: "Zapfino")
textNode.text = "Hello, world!"
textNode.fontSize = 42
textNode.position = CGPoint(x: myScene.frame.midX, y: myScene.frame.midY)
textNode.name = "helloNode"
myScene.addChild(textNode)
讨论
一个
SKLabelNode
对象也是一个
Node
,专门用于显示文本。和其他
Node
对象一样,
SKLabelNode
也需要在添加进一个
Scene
中之后才能为用户所见(如
6.4
节)。
注意,可以指定节点的名称(即
name
属性),我们设置为
helloNode
。如果为节
点指定了
name
,那么我们就可以用
SKNode
的
childNode(withName:) ...