哪种方式存储这些数据是有效的?

时间:2010-04-05 14:05:26

标签: objective-c iphone optimization programming-languages

我正在写一个需要地图的游戏,我想存储地图。我能想到的第一件事是使用2D阵列。但问题是我应该在2D阵列中存储什么数据。玩家可以点击不同的地方有不同的反应。所以,我想存储一个带有对象的2D数组,当玩家点击某个位置时,我在数组中找到它,并使用该数组中的对象来执行cmd。但我担心存储大量对象可能会占用大量内存。所以,我认为只存储char / int。但似乎对我来说还不够。我想存储这样的数据:

{
Type:1
Color:Green
}

无论颜色是什么,如果它们都是1型,逻辑上都有相同的反应,但视觉效果是基于颜色。因此,使用prue char / int数据存储并不容易,除非我做这样的事情:

 1-5 --> all type 1. 1=color green , 
 2=color red, 3 = color yellow.... ...
 6-10 --> all type 2. 2 = color green,
 2 = color red ... ...

那么,你对如何最大限度地减少使用ram有任何想法,但我也很容易阅读... ... thx

1 个答案:

答案 0 :(得分:0)

继续并在数组中存储一堆对象,但有两个改进:

  • 指针存储到对象,而不是对象本身。 (目标C可以自动为您处理;我不知道。)

  • 请记住,指向单个对象的指针可以出现在数组中的多个位置。共享相同颜色和行为的所有方块都可以共享一个对象。

如果您对数组的大小和不同方块的数量进行了数学计算,那么我们也可以确切地知道您正在谈论多少RAM。