空气布局,文字和最佳实践

时间:2015-01-14 12:00:21

标签: performance loops air adobe tlf

我正在尝试开发一个"翻译"适用于Android和iOS的Adobe Air游戏。 在屏幕上,我在顶部有一个问题和一个30/40可滚动项目/答案的网格(是的!)。当用户点击某个项目时,该应用程序会保存答案并从sqlite数据库中加载新的问题和选项。

该项目是MovieClip,它包含: - 位图(图形) - 文本域 - 空的movieclip

一旦数据库给我数据,应用程序就会遍历数组,其中包含答案并显示项目。基本上,对于每个答案,我必须:

  • 初始化组件
  • 用TLF替换空mc(TextField支持有限)
  • 设置TextFormat
  • 调整项目大小
  • 绘制位图
  • 将其添加到显示列表

现在......一切都很慢! 我必须在每个可接受的答案之间等待,但时间对于分数很重要,而且8-10秒太多了......我无法弄清楚如何改进!

我想最大的问题在于TLF的使用,但也许我也使用了错误的逻辑。你们有什么建议吗? 非常感谢你!

P.S。 对不起,如果我用英语犯了一些错误

        private function createAnser(i:int):void{
        n.log(' > createAnser');
        // .... new comp
        clip_a = new ClipAnswer();
        // .... resize
        clip_a.width = n._s('ANW');
        clip_a.height = n._s('ANH');
        // .... remnovechild empty addchild TLF from library
        n._textit(clip_a.empty,'FTM',current_answer_string);
        // .... bdata
        b = new BitmapData(clip_a.width,clip_a.height,true,0x000000);
        var matrix:Matrix = new Matrix();
        matrix.scale(clip_a.scaleX, clip_a.scaleY);
        b.drawWithQuality(clip_a,matrix, null, null, null, false, StageQuality.BEST);
        o = new Bitmap(b);
        // .... bitmap position
        o.y = (n._s('010') + n._s('ANH')) * i;
        gc_content.addChild(o);
        }

0 个答案:

没有答案