2015-06-29 68 views
0

我看到this question,但它并没有一个明确的解决问题,也不是完全一样的。我试图简单地添加一些带有文本的SKLabelNode。我从未有过问题,但由于某种原因,这种情况正在发生: Black bar is the SKLabelNode 这里是我用来生成节点代码:SKLabelNode创建黑色矩形

var announceLabel = SKLabelNode(fontNamed: "Baskerville") 
announceLabel.text = "ERROR LOADING ANNOUNCEMENT" 
announceLabel.fontColor = UIColor.blackColor() 
announceLabel.fontSize = 200 
announceLabel.setScale(twitterButton.frame.height/announceLabel.frame.height) 
announceLabel.position = CGPoint(x: self.frame.midX, y: self.frame.midY) 
self.addChild(announceLabel) 

我在我的iPhone 6测试这一点,我从未有过这种在创建标签节点时发生。我尝试过不同的字体,位置和比例,但没有任何效果。任何帮助是极大的赞赏!谢谢!

+0

请问是什么问题? –

+0

@ÖzgürErsil黑色的酒吧应该是文字 – Kendel

+1

奇怪我以前从未有过...但fontSize = 200 ???这不是太大吗? –

回答

0

刚刚测试了一些,我找到了答案。字体太大了,我想SpriteKit会导致一个错误。我改变了字体大小为50,它工作得很好(我用的字体大小200上的其它标签节点,从未发生过问题):

var announceLabel = SKLabelNode(fontNamed: "Baskerville") 
announceLabel.text = "ERROR LOADING ANNOUNCEMENT" 
announceLabel.fontColor = UIColor.blackColor() 
announceLabel.fontSize = 50 
announceLabel.setScale(twitterButton.frame.height/announceLabel.frame.height) 
announceLabel.position = CGPoint(x: self.frame.midX, y: self.frame.midY) 
self.addChild(announceLabel) 
0

我有同样的问题,但它只是在iPhone 6+模拟器&我觉得实际的设备也。在iPad上播放6,6,4s iPad 2 &。

我不得不这样做,使文本显示的是减小字体大小。在我的情况下,我使用的字体大小为64(Hobo标准)&必须将其减小到56.但是,我发现该行的长度是原因的一部分。如果行大约45个字符或更少,它显示在64号大小,但当它是约50个字符长,它成为一个64号黑色矩形,但在56号工作得很好。所以似乎是一个字体大小的组合&数字字符。

这必须是一个错误,但仍然是在Xcode 6.4

0

两个半年后,和我运行到同样的问题。它看起来像SKLableNode的宽度超过一定的大小,它只是显示为一个黑色的矩形。我做了一个快速二分搜索,发现大小在2038到2054之间,所以我要在这里假肢并说截止时间是2048年。我猜这是SpriteKit中的一个错误?我没有看到任何文件就可以了...

变通:

  1. 减半您的字体大小,并增加一倍,你的规模。这就是我现在所做的,即我的fontSize从64变为32,setScale(2)。缺点是字体质量不高。而且这只会将你的限制提高到4096点。所以一个很长的标签仍然无法工作。
  2. 削减你的文字成产生SKLabelNodes不超过2048更大的可能是痛苦的获取文本布局恰到好处这样大块。