加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flash:for循环运行缓慢

发布时间:2020-12-15 07:25:33 所属栏目:百科 来源:网络整理
导读:我对flash中的循环有疑问…. 在平铺游戏中,我正在制作一个整个关卡的迷你地图.它渲染地图的方式是在另一个for循环中使用for循环的函数.它循环通过每个图块位置并附加一个地图块(基本上是一个3×3像素的正方形),根据图块的颜色进行着色.无论如何,我的问题是,
我对flash中的循环有疑问….

在平铺游戏中,我正在制作一个整个关卡的迷你地图.它渲染地图的方式是在另一个for循环中使用for循环的函数.它循环通过每个图块位置并附加一个地图块(基本上是一个3×3像素的正方形),根据图块的颜色进行着色.无论如何,我的问题是,当水平变得像50×50瓷砖一样大时,地图渲染需要永远(最多3秒).有没有什么办法解决这一问题?或者还有另一种做迷你地图的方法吗?如果等级越来越大,可能需要10秒钟!

任何帮助表示赞赏!

谢谢,
马特

解决方法

Flash不会非常快速地渲染切片.它非常适合存储不会在缓冲区中更改的图形并快速快速显示此缓冲区.作为子项添加到舞台的每个图形对象(或子画面)都必须独立呈现.

你的问题是闪存必须每帧画50×50 = 2500个瓷砖!即使它们是3×3像素,闪光灯仍然将它们视为单独的物体.

如果您可以将所有内容存储在缓冲区或一个对象中并显示它,那将是很好的.因此,尝试在同一个对象中绘制这些3×3图块而不是多个对象.但是,这可能会妨碍您的功能,因为每个帧都必须重新渲染整个对象.

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

希望这可以帮助.如果您找到一个好的解决方案,请发布!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读