загрузить все файлы из определенного атласа Sprite-kit

Есть ли способ загрузить все файлы из определенного атласа, учитывая, что все имена файлов в этом атласе разные?

Я пробую метод, найденный в этом сообщении Получение списка файлы в папке Resources - iOS работает отлично, но только для основной папки, а не с расширением .atlas

  NSString * resourcePath = [[NSBundle mainBundle] resourcePath];
  NSString * documentsPath = [resourcePath stringByAppendingPathComponent:@"MYATLAS.atlas"];
  NSError * error;
  NSArray * directoryContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsPath error:&error];

person Aaleks    schedule 07.05.2014    source источник
comment
Вы хотите предварительно загрузить текстуры или загрузить и использовать их сразу?   -  person Dobroćudni Tapir    schedule 07.05.2014
comment
Я хочу загрузить их и создать SKTextures, добавить их все в NSDictionnary и использовать для ключей имена файлов.   -  person Aaleks    schedule 07.05.2014
comment
Я адаптирую свой ответ, чтобы использовать словарь   -  person Dobroćudni Tapir    schedule 07.05.2014
comment
Кстати. Я думаю, что предварительная загрузка атласа вам подойдет, вы сможете очень быстро получить каждую текстуру по имени из предварительно загруженного атласа :)   -  person Dobroćudni Tapir    schedule 07.05.2014
comment
Хорошо, спасибо, теперь я понял!   -  person Aaleks    schedule 07.05.2014


Ответы (1)


Сначала инициализируйте свой атлас следующим образом:

SKTextureAtlas* myAtlas = [SKTextureAtlas atlasNamed:@"MYATLAS.atlas"];

Затем вы можете загрузить все текстуры в словарь.

NSMutableDictionary* texturesDictionary = [NSMutableDictionary dictionary];
for(NSString* textureName in myAtlas.textureNames){
    SKTexture* texture = [myAtlas textureNamed:textureName];
    [texturesDictionary setObject:texture key:textureName];
}

или просто предварительно загрузите атлас для последующего использования

[myAtlas preloadWithCompletionHandler:completionHandler];
person Dobroćudni Tapir    schedule 07.05.2014
comment
Большое тебе спасибо ! Я никогда раньше не видел, чтобы у SKTextureAtlas были имена текстур. - person Aaleks; 07.05.2014