AndEngine进阶之创建高性能的文本精灵.docxVIP

  • 2
  • 0
  • 约7.46千字
  • 约 6页
  • 2017-05-31 发布于北京
  • 举报

AndEngine进阶之创建高性能的文本精灵.docx

在游戏开发中,最耗费性能的是显示文本,因为必须临时在内存中将文本生成bitmap,然后将bitmap绑定到OpenGL的纹理并渲染出来,AndEngine的作者估计是深入Java开发中缓存这个概念的重要性的影响,他对文本精灵作了一个精心的规划,分为不可变的文本精灵(Text)和可变的文本精灵(ChangeableText),并将生成文本bitmap并转换到纹理的职责委托给一个叫Font的类,Font类的实现很特别,它将要显示的字符串切分为单个的字符,通过canvas生成bitmap后缓存起来,然后在绑定纹理的时候合并,这样做的好处是当显示重复的字符时性能非常高,缺点是实现复杂导致若缓存池没有此字符时则性能稍低下。在实际使用中,当一个场景里已经存在很多精灵时,Text或ChangeableText的内容经常无法显示或者显示为一片空白区域。 ???????? 在IPhone,文本精灵分别是CCLabelTTF和CCLabelAtlas,作用相当于AndEngine的Text和ChangeableText,但实现机制完全不一样,CCLabelTTF是将要显示的字符串先生成一张整体的bitmap然后使用Opengl渲染,而CCLabelAtlas则要求预先传入制作好的文字序列图片以便缓存起来。因此我参考Cocos2d的做法增加了一个Label类,此类结合LoadingScene使用起来还

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档