似乎无法将文本工具包、属性字符串和布局管理器与 Sprit Kit SKLabelNode 一起使用。
我想知道 Sprite Kit 游戏如何显示需要分成多行和属性字符串的长文本?
似乎无法将文本工具包、属性字符串和布局管理器与 Sprit Kit SKLabelNode 一起使用。
我想知道 Sprite Kit 游戏如何显示需要分成多行和属性字符串的长文本?
SKLabelNode 不支持属性字符串和换行。
恐怕您是否需要由您来实施它。您可以使用多个标签节点来显示多行,并可能编写一个自定义工具,将属性化换行字符串分割成多个标签,行距和颜色相应。也许这样的图书馆已经存在。
另一种方法是在 SKView 顶部显示常规文本视图。
您可能想查看 ASAttributedLabelNode,这是一个支持属性字符串的 SKLabelNode 实现。
从 iOS 11 开始,SKLabelNode 似乎支持属性字符串和自动换行符。新属性已添加到类的文档中:
请注意:SpriteKit 更新有引入错误新功能的历史,因此您可能必须自己测试这些功能。
关于 SKLabelNode 性能的注意事项:
有一些建议您应该将标签转换为纹理并使用 SKSpriteNodes 渲染它们以获得更好的性能。我不知道这实际上有多大的不同,但是对于带有您永远不会更改的文本的较小标签来说,这可能是有意义的。
- (SKTexture *)textureFromNode:(SKNode *)node;