2011-04-24 28 views
0

我正在写这个游戏有数百个关卡,但在我的其中一个菜单中,我想让用户通过按下图标来快速选择任何关卡(如跳板,除了跳板而不是应用程序,生病有水平)。但是如果关卡已经完成,我还想在图标中出现一个小勾号。检查哪些游戏关卡已完成iPhone

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

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

回答

1

您可以随时在NSUserDefaults中存储NSArray对象。它可以是指示级别是否完成的布尔数组,也可以是完整级别列表。

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

你可以在NSUserDefaultsits documentation找到你可以存储的物品列表。

编辑
布尔的 阵列可以这样来创建(因为bool是一种最原始的,我们把它包装成NSNumber

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

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

你可以找到更多的方法来操作NSArrayNSMutableArray在其文档。

+0

好的,我会怎么做呢? – 2011-04-24 08:53:41

+0

@Conor关于什么?创建布尔数组,其中每个元素表示是否传递级别?将它保存到默认对象中? – 2011-04-24 09:00:57

+0

创建布尔数组,其中每个元素表示是否传递级别 – 2011-04-24 09:13:13