我是Sprite Kit的新手,我在游戏中有5个关卡。一旦比赛开始,我想随机化我的水平在任何水平。随机化plist的内容
我在plists中创建了自己的关卡,并且想知道随机化我的plists是否有用。
我将如何获得关于随机化我的plists?
我是Sprite Kit的新手,我在游戏中有5个关卡。一旦比赛开始,我想随机化我的水平在任何水平。随机化plist的内容
我在plists中创建了自己的关卡,并且想知道随机化我的plists是否有用。
我将如何获得关于随机化我的plists?
我不知道你的plist有多大或者你如何加载它,但我假设它是作为NSDictionaries的NSArray加载的。您可以将数组转换为NSMutableArray,然后在其上运行某种随机化算法。 Here is an example of such an algorithm.
然后,您可以像平常一样从数组中载入关卡。如果您发布plist的格式以及如何解析它,我可以进一步帮助您提出解决方案。
假设你的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];
我输入的代码GameScene线,但我发现了以下错误:“物业‘大小’的类型的对象SKView *'没有发现MyScene * scene = [[MyScene alloc] initWithSize:self.view.size levelData:level];' – John 2014-11-05 04:13:47
当然我的意思是'self.view.bounds.size' – 2014-11-05 06:33:37