SKLabelNode未出现在SKSpriteNode swift上
我正在尝试将SKLabelNode添加为SKSpriteNode的子级:SKLabelNode未出现在SKSpriteNode swift上,swift,sprite-kit,Swift,Sprite Kit,我正在尝试将SKLabelNode添加为SKSpriteNode的子级: var mainNode = SKSpriteNode() override func didMoveToView(view: SKView) { mainNode = SKSpriteNode(color: UIColor.redColor(), size: self.size) mainNode.position = CGPoint(x: CGRectGetMidX(self.frame), y:
var mainNode = SKSpriteNode()
override func didMoveToView(view: SKView) {
mainNode = SKSpriteNode(color: UIColor.redColor(), size: self.size)
mainNode.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
mainNode.zPosition = -2
mainNode.name = "MainNode"
self.addChild(mainNode)
let myLabel = SKLabelNode(fontNamed:"Chalkduster")
myLabel.text = "Hello, World!"
myLabel.fontSize = 45
myLabel.position = CGPoint(x:CGRectGetMidX(mainNode.frame), y:CGRectGetMidY(mainNode.frame))
mainNode.addChild(myLabel)
}
但是SKLabelNode没有出现。我试图改变它的位置,但无论如何都不起作用
如果我在场景本身上添加标签(
self.addChild(myLabel)
),效果很好您的问题是CGPoint(x:CGRectGetMidX(mainNode.frame),y:CGRectGetMidY(mainNode.frame))
将标签放在边界之外。因此,如果您希望SKLabelNode水平和垂直居中,您可以这样做
let myLabel = SKLabelNode(fontNamed:"Chalkduster")
myLabel.text = "Hello, World!"
myLabel.fontSize = 45
myLabel.horizontalAlignmentMode = .Center
myLabel.verticalAlignmentMode = .Center
mainNode.addChild(myLabel)
您的问题是
CGPoint(x:CGRectGetMidX(mainNode.frame),y:CGRectGetMidY(mainNode.frame))
将您的标签置于边界之外。因此,如果您希望SKLabelNode水平和垂直居中,您可以这样做
let myLabel = SKLabelNode(fontNamed:"Chalkduster")
myLabel.text = "Hello, World!"
myLabel.fontSize = 45
myLabel.horizontalAlignmentMode = .Center
myLabel.verticalAlignmentMode = .Center
mainNode.addChild(myLabel)
在视图控制器的
viewdiload
中,在中添加scene.size=view.frame.size
,如果让场景…
阻塞,并将myLabel
的位置设置为CGPointZero
@0x141E,谢谢,效果不错!请将此作为答案发布,以便我可以在视图控制器中的viewDidLoad
中接受它,在中添加scene.size=view.frame.size
,如果让场景…
阻塞并将myLabel
的位置设置为CGPointZero
@0x141E,谢谢,这很有效!请将此作为答案发布,以便我可以接受