Objective c 带SKLabelNode的文本工具包
似乎无法将文本工具包、属性字符串和布局管理器与Sprit工具包SKLabelNode一起使用Objective c 带SKLabelNode的文本工具包,objective-c,sprite-kit,textkit,Objective C,Sprite Kit,Textkit,似乎无法将文本工具包、属性字符串和布局管理器与Sprit工具包SKLabelNode一起使用 我想知道Sprite Kit游戏如何显示需要分成多行和属性字符串的长文本?SKLabelNode不支持属性字符串和换行 如果你需要的话,恐怕要由你来实施。您可以使用多个标签节点显示多条线,还可以编写一个自定义工具,将属性、换行符字符串分割为多个标签,并相应地按行间距和颜色排列。也许这样的图书馆已经存在了 另一种方法是在SKView的顶部显示常规文本视图。您可能希望签出一个AttributedLabelN
我想知道Sprite Kit游戏如何显示需要分成多行和属性字符串的长文本?SKLabelNode不支持属性字符串和换行 如果你需要的话,恐怕要由你来实施。您可以使用多个标签节点显示多条线,还可以编写一个自定义工具,将属性、换行符字符串分割为多个标签,并相应地按行间距和颜色排列。也许这样的图书馆已经存在了
另一种方法是在SKView的顶部显示常规文本视图。您可能希望签出一个AttributedLabelNode,这是一个支持属性字符串的SKLabelNode实现
从iOS 11开始,SKLabelNode似乎确实支持属性字符串和自动换行。新属性已添加到类的文档中:
关于SKLabelNode性能的注意事项: 有一些建议建议您应该将标签转换为纹理,并使用SKSpriteNodes渲染它们以获得更好的性能。我不知道这到底有多大的不同,但是对于那些文本永远不会改变的小标签来说,这可能是有意义的 :
我讨厌SpriteKit,我需要的每一个功能,它都没有:-(那就不要使用它或找到解决方法。这些东西不是SK特有的,因为我记得cocos2d也不支持属性字符串。我必须找到解决方法:-)。我的论点是SpriteKit,特别是这个SKLabelNode缺少很多基本功能,例如,我甚至不能在其中添加“\n”。在渲染引擎中,速度是至关重要的。检测线缠绕是耗时的,如果你认为它需要重新创建标签的纹理。如果我没记错的话,cocos2d的CCLabelTTF也不能做换行。好的,很高兴了解背景,他们以牺牲功能为代价优化了速度。
- (SKTexture *)textureFromNode:(SKNode *)node;