检查哪些游戏关卡已经完成iPhone

时间:2011-04-24 08:43:55

标签: iphone objective-c cocoa-touch

我正在用数百个级别编写这个游戏,但是在我的一个菜单中,我想让用户通过按下它的图标来快速选择任何级别(如跳板,除了代替应用程序,生病等级) 。但是如果关卡已经完成,我还想在图标中显示一个小刻度。

在一个完全不同的文件中,检查哪些(我的300多个级别)已完成的最佳方法是什么?

NSUserDefaults似乎是一种非常笨拙的方式。我在想更像是一个循环?但我不知道该怎么做。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

您始终可以在NSArray中存储NSUserDefaults个对象。它可以是指示级别是否完成的布尔数组,或者只是已完成级别的列表。

为它创建一个单独的文件对我来说似乎太麻烦了。

您可以在its documentationNSUserDefaults中找到可以存储的内容列表。

修改
可以像这样创建一个布尔数组(因为bool是一个基本类型,我们将它包装成NSNumber

  NSMutableArray *passedLevels = [NSMutableArray array];
  [passedLevels addObject:[NSNumber numberWithBool:TRUE]];

  if ([[passedLevels objectAtIndex:0] boolValue]) {
      // level passed
  }

您可以在文档中找到更多操作NSArrayNSMutableArray的方法。