我是Sprite Kit的新手,我的游戏中有5个级别。一旦游戏开始,我想将我游戏中的关卡随机化为任何级别。
我用plists创建了我的关卡,我想知道随机化我的plists是否可以解决问题。
我如何随机化我的plist?
答案 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的格式以及如何解析它,我可以进一步帮助您提出解决方案。