flash:for循环运行缓慢

标签 flash optimization loops

我有一个关于 Flash 循环的问题......

在瓷砖游戏中,我正在制作整个关卡的迷你 map 。它渲染 map 的方式是一个在另一个 for 循环中包含一个 for 循环的函数。它循环遍历每个图 block 位置并附加一个 map block (基本上是一个 3x3 像素正方形),该图 block 根据图 block 的颜色进行着色。不管怎样,我的问题是,当关卡变得像 50x50 block 一样大时, map 重新渲染将永远持续(最多 3 秒)。有没有什么办法解决这一问题?或者还有其他制作迷你 map 的方法吗?如果关卡变得越来越大,可能需要 10 秒!

感谢任何帮助!

谢谢, 马特

最佳答案

Flash 渲染图 block 的速度并不快。它非常适合在缓冲区中存储不会更改的图形并快速显示该缓冲区。作为子级添加到舞台的每个图形对象(或 Sprite )都必须独立渲染。

您的问题是 Flash 必须每帧绘制 50x50 = 2500 个图 block !即使它们是 3x3 像素,Flash 仍将它们视为单独的对象。

如果您可以将所有内容存储在缓冲区或一个对象中并显示它,那就太好了。因此,请尝试在同一个对象而不是多个对象中绘制这些 3x3 瓷砖。然而,这可能会妨碍您的功能,因为整个对象必须每帧重新渲染。

其他一些建议可能是在网格上较大的单元格中渲染对象。不要使用 50x50,而是从 10x10 开始,然后在每个单元格中绘制 5x5 单元格。这可能会加快速度。

希望这有帮助。如果您找到好的解决方案,请发布!

关于flash:for循环运行缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/156356/

相关文章:

android - 在 Android 应用程序中集成 Flash 游戏?

javascript - 关于javascript和flash的问题

java - 有条件地将项目添加到 HashMap 的有效方法

flash - 有没有办法子类化和覆盖自定义命名空间中的方法?

javascript - 尝试从 JS 访问 Flash 电影在 FF 中有效,但在 IE 中无效

c++ - 打开文件和关闭文件语句定位: best practice,的优缺点

performance - 根据大 O 确定上限

python - 遍历 JSON 以查找定义的对象是否存在

javascript - 创建带有提示的网页

java - Java中的UDP线程无限循环