2

我想知道使用 actionscript 2 在 Flash 中创建大型、基于图块的地图的最佳方法是什么。

使用我当前的代码,任何超过 35x35(1225 个影片剪辑)的地图都会开始滞后。这些地图是从一个简单的多维数组创建的,例如。

var map = [[95,23,25,23,16,25],[95,23,25,23,16,25],[95,23,25,23,16,25]];

该程序简单地创建一个瓦片的电影剪辑,转到适当的帧并相对于玩家的位置放置瓦片。每个图块都有一个属性,即“可行走”,它是真还是假,它决定了玩家是否可以在上面行走。这些图块是持有人影片剪辑的子项。当玩家移动时,持有者影片剪辑被移动(无论其中包含多少瓷砖)。

减少大比例地图滞后的最佳方法是什么?

4

1 回答 1

1

如果一次只能看到大地图的一小部分,我只会为当前可见的图块创建子影片剪辑图块,然后在视口移动时添加/删除它们。

另一方面,如果您要一次显示整个内容,您可能需要使用BitmapData该类以图形方式将所有图块复制到单个大型影片剪辑中。然后您可以删除影片剪辑图块,以便 Flash 只需滚动一个大影片剪辑。

根据您的瓷砖是什么,您还可以尝试设置cacheAsBitmap为 true 以及分配opaqueBackground所有涉及的动画剪辑。

于 2013-03-23T04:57:10.787 回答