有没有在AS3的雪碧或影片剪辑从InteractiveObject编程方式添加文本,而不使用类TextField有没有办法将文本添加到不使用TextField类的sprite或movieclip?
文本字段继承的方式这是我想要做的那种沉重:只显示文本(即我不不想与文本交互)。
注:我知道有一个属性selectable使文本字段无法选择。这不是重点。
谢谢
有没有在AS3的雪碧或影片剪辑从InteractiveObject编程方式添加文本,而不使用类TextField有没有办法将文本添加到不使用TextField类的sprite或movieclip?
文本字段继承的方式这是我想要做的那种沉重:只显示文本(即我不不想与文本交互)。
注:我知道有一个属性selectable使文本字段无法选择。这不是重点。
谢谢
想到两种方法。首先是这其中一个字符串写入位图数据:How to draw a string on BitmapData
其次,你可以试试这个快速的字体渲染库(虽然我还没有尝试过自己)lab.polygonal.de/2009/12/15/font-rendering-with-the-fp10-drawing-api/
这两种方案似乎绕过需要用于创建文本字段(除了第一个用于创建但后来被丢弃的地方)。
+1为第二个链接。只是一个笔记。如果任何人想要使用第一个选项并计划重复调用此方法,那么将'TextField' intance设置为参数是一个好主意。这样,您可以减少创建的实例数量,并从调用代码中控制字体类型,颜色和其他属性。我不确定这种方法是否会带来显着的性能增益,但(只是写它来显示如何将文本绘制到位图)。由于OP似乎在寻找业绩,我认为第二种选择虽然更多涉及,但应该更合适。 – 2010-08-11 23:24:52
我同意使用位图是最好的解决方案,但我还会注意到通常不需要真正绘制到自己的位图中。只需创建您的文本字段并设置'cacheAsBitmap'标志,即可获得几乎所有的位图优势,而不会带来任何不便。 – fenomas 2010-08-12 06:21:37
引用Donald Knuth这里很诱人。但我不会这样做 - 也许你是为了教育目的而这样做的,你只是在试验或者你确实有一个实际的性能问题。然而,我想我会提到,在大多数情况下(除非你动画大量的文字,或者需要更好的指标等),textfields就好了。 – 2010-08-11 23:40:07
是的,我正在寻找TextField的替代方案,因为性能问题(很多文本字段)。 我同意,TextField适用于我遇到的情况的90%,但有10%的地方使用较轻的东西会显着提高性能。 – matb 2010-08-12 00:23:34
艾伦的第二个链接将值得检查。这是我知道绘制文本的最高性能方式。 – 2010-08-12 00:45:09