2014-11-05 135 views
1

我是Sprite Kit的新手,我在游戏中有5个关卡。一旦比赛开始,我想随机化我的水平在任何水平。随机化plist的内容

我在plists中创建了自己的关卡,并且想知道随机化我的plists是否有用。

我将如何获得关于随机化我的plists?

回答

0

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

然后,您可以像平常一样从数组中载入关卡。如果您发布plist的格式以及如何解析它,我可以进一步帮助您提出解决方案。

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]; 
+0

我输入的代码GameScene线,但我发现了以下错误:“物业‘大小’的类型的对象SKView *'没有发现MyScene * scene = [[MyScene alloc] initWithSize:self.view.size levelData:level];' – John 2014-11-05 04:13:47

+0

当然我的意思是'self.view.bounds.size' – 2014-11-05 06:33:37