1

事情就是这样,我需要将不同的值存储在二维数组(或概念上类似的东西)中。这个想法是创建一个带有瓦片的 2d 地图,该数组将保存地图中每个瓦片的 ID。我正在尝试创建一些稍微高效的东西,特别是因为我需要节省一些内存使用以供以后使用(它与 AI 有关)并且它必须在低端 PC 上运行,但简单地创建一个数组似乎是一种浪费空间,因为我在任何给定的地图上只有大约 50 个不同的 ID。

我想创建一个 8 位字符的二维数组就足够了,但是对于 actionscript 3,这是不可能的,它没有 8 位字符数据类型。我可以使用带有字符串或其他东西的向量吗?所以我问你,最有效的方法是什么?

4

1 回答 1

0

可能要走的路是使用 ByteArray - http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/ByteArray.html。您可以一次读取和写入一个或多个字节。您甚至可以使用 compress 函数来减小它的大小(它实际上是“压缩”它)

您应该将地图“展平”为字节数组,即 map[i][j] 将存储在 byteArray[i*nr_columns + j]

于 2012-04-16T11:51:31.590 回答