我想把 SKLabelNode 的位置设置为 SKSpriteNode 的中心。
我看了其他关于此问题的提问,但是它们都不适用于 Swift 3。
这是我的代码:
var letter1background = SKSpriteNode(imageNamed: "letterbackground")
var letter1text = SKLabelNode()
override func didMove(to view: SKView) {
letter1background.position = CGPoint(x: self.size.width / 8, y: self.size.height / 7.5)
letter1background.size = CGSize(width: self.size.width / 8, height: self.size.width / 8)
letter1background.zPosition = -5
self.addChild(letter1background)
letter1text.text = "C"
letter1text.fontName = "Verdana-Bold "
letter1text.fontSize = 28
letter1text.fontColor = UIColor.white
letter1text.zPosition = 0
letter1text.horizontalAlignmentMode = letter1background.center
letter1text.verticalAlignmentMode = letter1background.center
self.letter1background.addChild(letter1text)
}
这段代码看起来应该是可以工作的,但在Swift 3中,我现在收到了以下错误:
类型'SKSpriteNode'的值没有成员'center'
我也尝试过:
self.letter1text.position = CGPoint(x: letter1background.frame.width/2 - (letter1text.frame.width/2), y: letter1background.frame.height/2 -(letter1text.frame.height/2))
&
letter1text.position = CGPoint(x:letter1background.frame.midX, y:letter1background.frame.midY)
但我仍然会得到像这样的结果:
![iphone screen](https://istack.dev59.com/Jr3k2.webp)