【问题标题】:SKLabelNode not showing upSKLabelNode 未显示
【发布时间】:2016-07-01 16:19:19
【问题描述】:

我试图让 SKLabelNode 显示在我的屏幕上,但它没有显示。这是我的代码...

 override func didMoveToView(view: SKView) {

    let textLabel = SKLabelNode(fontNamed: "Avenir-Black")

    textLabel.text? = "HI THERE"
    //textLabel.position = CGPoint(x: frame.midX, y: frame.midY)
    textLabel.horizontalAlignmentMode = .Center
    textLabel.verticalAlignmentMode = .Center
    textLabel.fontSize = 100
    textLabel.zPosition = 2
    textLabel.color = UIColor.whiteColor()
    textLabel.name = textLabel.name
    print("flkjsfhdj")

    self.addChild(textLabel) }

我做错了什么?

【问题讨论】:

  • 我猜你有一个奇怪的缩放模式,你的标签在屏幕的左下角
  • @Knight0fDragon你知道我该如何解决吗?
  • 首先你需要检查你的缩放模式,开始我会使用.Fill(我认为默认值不同)。然后使用let point = CGPoint(x:CGRectGetMidX(frame), y:CGRectGetMidY(frame)) 并将标签位置设置为它。 textLabel.position = point

标签: ios swift sprite-kit sklabelnode


【解决方案1】:

你只需要给你的标签一个位置:

textLabel.position = CGPoint(x:500, y:200)

【讨论】:

    【解决方案2】:

    代码应该写成

    textLabel.text = "Hi there"
    

    而不是

    textLabel.text? = "Hi there"
    

    【讨论】:

      【解决方案3】:

      我有同样的问题。

      我的解决方案是这样的……

      不是textLabel.color = UIColor.white

      但是textLabel.fontColor = UIColor.white

      【讨论】:

        【解决方案4】:

        除了 pps 提到的 fontColor 之外,fontSize 应该超过 20,具体取决于设备,它可能太薄而无法在模拟器中看到。

                textLabel.zPosition = 2
                textLabel.fontColor = .white
                textLabel.position = pos
                textLabel.fontSize = 20
                self.addChild(textLabel)
        

        此外,根据添加到屏幕上的内容数量和 zPosition,您可能必须将节点撞到另一个节点的前面,或者删除并再次插入节点以将其放置在现有内容之上。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-05-07
          相关资源
          最近更新 更多