1

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

2 回答 2

1

问题是您已经设置textColorbackgroundColor两者whiteColor(),更改任何一个都将正确显示您的文本。

编辑:

我认为您想在其中添加view作为参数传递的标签,而不是使用view.addSubview(label)而不是self.view?.addSubview(label).

于 2016-08-08T10:04:51.453 回答
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)

您还可以SKLabelNode在 Sprite-kit Xcode 演示项目“hello, world”中找到:

在此处输入图像描述

于 2016-08-08T10:26:29.143 回答