带有SKLabelNode的文本工具包

时间:2014-03-21 05:15:10

标签: objective-c sprite-kit textkit

似乎无法使用文本工具包,将字符串和布局管理器与Sprit Kit SKLabelNode一起使用。

我想知道Sprite Kit游戏如何显示需要分成多行和归属字符串的长文本?

3 个答案:

答案 0 :(得分:2)

SKLabelNode不支持归属字符串和换行。

如果您需要,我担心由您来实施它。您可以使用多个标签节点来显示多条线,并且可能会编写一个自定义工具,将切换属性,换行符串切换为多行标签,并相应地进行着色。也许这样的图书馆已经存在。

另一种方法是在SKView上显示常规文本视图。

答案 1 :(得分:1)

您可能想要查看ASAttributedLabelNode,这是一个支持属性字符串的SKLabelNode实现。

https://github.com/alex-alex/ASAttributedLabelNode

答案 2 :(得分:0)

从iOS 11开始,SKLabelNode似乎支持属性字符串和自动换行符。新属性已添加到类的文档中:

警告:SpriteKit更新有引入错误新功能的历史,因此您可能需要自己测试这些功能。

关于SKLabelNode的性能的注意事项:

有一些建议浮出水面,您应该将标签转换为纹理,并使用SKSpriteNodes渲染它们以获得更好的性能。我不知道这实际上有多大区别但是对于带有文字的小标签你可能没有变化。

SKView has a member function that converts a node into a texture

- (SKTexture *)textureFromNode:(SKNode *)node;