【发布时间】:2016-12-02 19:44:41
【问题描述】:
我正在尝试将 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”类型的值没有成员“中心”
我也试过了:
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)
有什么想法吗?
【问题讨论】:
-
@NiallKehoe SKSpriteNode 据我所知,从未有过名为
center的属性。这是特定于视图的属性,而不是节点。
标签: objective-c swift xcode sprite-kit skspritenode