我正在尝试在label
上创建SKScene
,但它没有出现。我不知道出了什么问题。代码看起来非常好:
class end: SKScene {
var label = UILabel()
override func didMoveToView(view: SKView) {
scene?.backgroundColor = UIColor(red: CGFloat(59.0/255.0), green: CGFloat(89.0/255.0), blue: CGFloat(152.0/255.0), alpha: CGFloat(1.0))
label.text = "Game Over!"
label.backgroundColor = UIColor.blackColor()
label = UILabel(frame: CGRect(x: 0, y: 0, width: view.frame.width/3, height: 30))
label.center = CGPoint(x: view.frame.size.width / 2, y: view.frame.size.width/7)
label.textColor = UIColor.whiteColor()
self.view?.addSubview(label)
}
}
答案 0 :(得分:1)
问题是您已将textColor
和backgroundColor
设为whiteColor()
,更改任何人都会正确显示您的文字。
修改强>
我认为您要将view
内的标签作为参数添加,而不是使用view.addSubview(label)
代替self.view?.addSubview(label)
。
答案 1 :(得分:0)
在Sprite-kit
中,您应该在场景中使用SKLabelNode,而不是直接在视图中添加UIKit
标签,因为这可能会导致游戏性能下降。
我举了一个例子:
let titleLabel = SKLabelNode(fontNamed:"HelveticaNeue-Bold")
titleLabel.text = String("Game Over!")
titleLabel.fontColor = SKColor.whiteColor()
titleLabel.position = CGPoint(x: size.width/2.0, y: size.height/2)
self.addChild(titleLabel)
您也可以在Sprite-kit Xcode演示项目“hello,world”中找到SKLabelNode
: