Создание определенного числа спрайта - PullRequest
0 голосов
/ 04 марта 2012

В моей игре мне нужно набрать определенное количество спрайтов в зависимости от уровня моей игры.Это количество спрайтов хранится в файле .plist.Моя игра работает так, что она выбирает случайного типа врага для этого определенного уровня.Затем он находит номер уровня, а затем находит количество спрайтов, которое нужно скопировать для этого уровня.Вот как выглядит мой список:

My Plist

Мне нужен способ для определения количества спрайтов, не больше, не меньше.У меня есть некоторые идеи о том, как может работать код, но, поскольку я новичок в Objective C, я не знаю, как будет выглядеть сам код.

Ответы [ 2 ]

0 голосов
/ 04 марта 2012

Вы можете найти количество спрайтов для данного уровня следующим образом:

- (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
}
0 голосов
/ 04 марта 2012
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
}

Я бы сделал что-то подобное выше и заменил бы тот уровень, на котором вы находитесь.

...