随机化一个plist的内容

时间:2014-11-05 01:50:38

标签: ios random plist

我是Sprite Kit的新手,我的游戏中有5个级别。一旦游戏开始,我想将我游戏中的关卡随机化为任何级别。

我用plists创建了我的关卡,我想知道随机化我的plists是否可以解决问题。

我如何随机化我的plist?

2 个答案:

答案 0 :(得分:1)

假设你的plist是一系列词典:

NSString *pathToPlist = [[NSBundle mainBundle] pathForResource:@"levels" 
                                                        ofType:@"plist"];
NSArray *levels = [NSArray arrayWithContentsOfFile:pathToPlist];
NSDictionary *level = levels[arc4random_uniform(levels.count)];
GameScene *scene = [[GameScene alloc] initWithSize:self.view.bounds.size 
                                         levelData:level];

答案 1 :(得分:0)

我不确定你的plist有多大或者你如何加载它但是我假设它是作为NSDurray的NSArray加载的。您可以将数组转换为NSMutableArray,然后对其运行某种随机化算法。 Here is an example of such an algorithm.

然后,您可以像往常一样从阵列加载级别。如果您发布plist的格式以及如何解析它,我可以进一步帮助您提出解决方案。