Fel*_*ope 5 flash actionscript-3 data-structures
我已经咀嚼了一段时间,我想我会提出一个问题并尝试对此有所了解.也许会引发一个灯泡.
我需要构建一个十六进制网格,并且十六进制网格将至少为10 x 10,最大为500x500 - 并且可能更大.这显然是高端的一个巨大的网格,自然必须被打破.
这是问题的主要部分.
我可以将数据(共享变量)存储为简单的byteArray,甚至可以存储在plainText中.每个十六进制的信息非常简单,它只是有多少.我没有"保存"数据.(将是一个功能)
每个六边形的基本结构是:
这几乎是所有需要的信息.
如果根本没有十六进制发生变化的可能性,这将是相当微不足道的.
所以我很好奇是否有人对此有任何想法.(任何绝对真理都不会坏;)
编辑:哦,关于hexes的信息来自tcp流.这不是问题,就像我说的那样,每个十六进制数据都是简单的,我的解析器是闪电般快速的,所以它不是问题.
更新:我不得不创建和维护250,000个对象(hexes)的可能性是我最常问的问题.这就是为什么我在寻找创意.(闪存中的250k对象很好)
每个六边形的基本结构是:
Run Code Online (Sandbox Code Playgroud)* hex color (with outline obviously) (or a bitmap picture) blitting anyone! * TextField with a number in it. (max 2 digits)
我想您不需要存储所有 250K 文本字段和位图,因为它们只需要存在于屏幕上。将此数据打包成少量字节 - 最多 2 位数字为 7 位,添加调色板中的颜色 ID(如果需要真彩色,则添加 24 位)和位图 ID。如果你制作相同大小的结构,你可以将它们写入ByteArray。这将使您摆脱 250K 对象引用并防止可能的内存碎片。
然后,您只需为这些字节创建打包/解包函数到一些可用的对象中(不要忘记对象池),并进行算术运算以从ByteArray
正确的位置获取它们。正如其他人指出的,如果将单元格数据打包到一对 int 中,250K 单元格并不算多。
归档时间: |
|
查看次数: |
394 次 |
最近记录: |