我一直试图显示一个简单的SKLabelNode,没有运气。我尝试了许多不同的方法,结果好坏参半。这就是我目前所拥有的,但没有任何显示:
func layoutMenu() {
let appNameLabel = SKLabelNode()
appNameLabel.text = "HI"
appNameLabel.zPosition = 1000
appNameLabel.fontColor = SKColor.red
appNameLabel.position = CGPoint(x:0.5, y:0.5)
self.addChild(appNameLabel)
}
我在didMove()函数中调用此函数。通过混合结果,我的意思是有时标签的红色显示在模糊的块中(尽管没有文字)。这只能使用对齐属性来实现,我不想使用它。
编辑:有关可能有用的帧的一些信息。
根skscene框架:
▿ (-0.0, -0.0, 1.0, 1.0)
▿ origin : (-0.0, -0.0)
- x : -0.0
- y : -0.0
▿ size : (1.0, 1.0)
- width : 1.0
- height : 1.0
SKLabelNode:
▿ (-11.5, 0.5, 25.0, 25.0)
▿ origin : (-11.5, 0.5)
- x : -11.5
- y : 0.5
▿ size : (25.0, 25.0)
- width : 25.0
- height : 25.0
答案 0 :(得分:0)
我认为问题与SKScene
的框架有关,框架的大小为(1,1)。为了理解如何设置标签+场景,您可以在Playground上尝试以下代码:
import SpriteKit
import PlaygroundSupport
let frame = CGRect(x: 0, y: 0, width: 200, height: 200)
let view = SKView(frame: frame)
let scene = SKScene(size: frame.size)
view.presentScene(scene)
scene.backgroundColor = UIColor.white
PlaygroundPage.current.liveView = view
let label = SKLabelNode()
label.text = "mylabel"
label.fontColor = SKColor.black
label.position = CGPoint(x:frame.size.width / 2.0, y:frame.size.height / 2.0)
scene.addChild(label)
结果是: