2

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

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

4

3 回答 3

2

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

恐怕您是否需要由您来实施它。您可以使用多个标签节点来显示多行,并可能编写一个自定义工具,将属性化换行字符串分割成多个标签,行距和颜色相应。也许这样的图书馆已经存在。

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

于 2014-03-21T09:52:55.113 回答
1

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

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

于 2014-09-08T12:27:08.553 回答
0

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

请注意:SpriteKit 更新有引入错误新功能的历史,因此您可能必须自己测试这些功能。


关于 SKLabelNode 性能的注意事项:

有一些建议您应该将标签转换为纹理并使用 SKSpriteNodes 渲染它们以获得更好的性能。我不知道这实际上有多大的不同,但是对于带有您永远不会更改的文本的较小标签来说,这可能是有意义的。

SKView 有一个将节点转换为纹理的成员函数

- (SKTexture *)textureFromNode:(SKNode *)node;
于 2017-09-11T13:42:32.763 回答