请让我详细描述我的问题。
让我们说我将创建一个包含500个不同地图的游戏。 这些地图中的每一个都包含80x40 16px图块。(不幸的是,每16px需要解析一次)
但在游戏中,我将为每4个16px瓷砖创建32px瓷砖。
我使用静态方法将每个嵌入的tmx文件存储在一个类中。
这是我的问题,我应该选择以下哪两个选项;
1-我应该在每次玩家输入不同的地图时将tmx数据转换为as3数据(进入包含切片数据的数组)。
2-我应该在游戏开始时转换所有地图的数据,然后每当玩家输入不同的地图时,我直接拿出数组并从中创建地图。
我问这个是因为我不确定是否要保留500个大小为80x40的数组。 (它会让公羊过多吗?)
答案 0 :(得分:1)
选项1更好。您可以在输入地图之前加载地图配置数据,并且不必将所有配置数据存储在内存中,您可以存储最近使用的10个地图配置数据(如LRU缓存算法)
根据我的经验,如果您的地图配置数据是xml,您可以将其传输到byteArray以减小其大小并在加载时解压缩。