在我的游戏中,我需要根据游戏的等级来实例化一定数量的精灵。精灵数量存储在.plist文件中。我的游戏工作方式是它为该特定级别选择一个随机类型的敌人。然后,它会找到级别编号,然后找到该级别需要实例的精灵数量。这就是我的plist的样子:
我需要的是一种实现精灵数量的方式,不多也不少。我对代码如何工作有一些想法,但由于我是Objective C的新手,我不知道代码本身会是什么样子。
答案 0 :(得分:0)
NSString *path = [[NSBundle mainBundle] pathForResource:@"YourPlist" ofType:@"plist"];
NSDictionary *plist = [NSDictionary dictionaryWithContentsOfFile:path];
//Get the dictionary
NSDictionary *levels = [plist objectForKey:@"Mosquito"];
for(int i = 0; i < [[levels objectForKey:@"L-1"] intValue]; i++){
//make your sprites
}
我会做类似上面的事情并替换你所处的任何级别。
答案 1 :(得分:0)
您可以找到给定级别的精灵数量,如下所示:
- (int)numberOfSpritesForLevel:(int)level
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"plistFileName" ofType:@"plist"];
NSDictionary *plist = [NSDictionary dictionaryWithContentsOfFile:path];
NSDictionary *levels = [plist objectForKey:@"Mosquito"];
NSString *levelKey = [NSString stringWithFormat:@"L - %d", level]; // Or "L-%d" if there is no space in the keys
return [[levels objectForKey:levelKey] intValue];
}
然后你可以像这样创建精灵:
int level = 3; // Or whatever value you need.
int numberOfSprites = [self numberOfSpritesForLevel:level];
for (int i = 0; i < numberOfSprites; i++) {
// Create a sprite here
}