UILabel没有出现在SKScene上

时间:2016-08-08 10:03:42

标签: swift sprite-kit uilabel skscene skview

我正在尝试在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)      
    }
}

2 个答案:

答案 0 :(得分:1)

问题是您已将textColorbackgroundColor设为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

enter image description here