Я не уверен в базовой реализации атласов текстур, поэтому мой вопрос: как правильно поступить с извлечением текстур из них? Мне нужно перебрать различные атласы и вытащить их. 64 случайных текстуры.
Создать статический атлас и повторно использовать ссылку для извлечения текстур?
static SKTextureAtlas *monsterAtlas;
static int monsterCount;
monsterAtlas = [SKTextureAtlas atlasNamed:@"monsters"];
monsterCount = [monsterAtlas textureNames].count;
//pull out a random texture
NSString* textureName = [[monsterAtlas textureNames] objectAtIndex: arc4random()%monsterCount];
SKTexture* texture = [monsterAtlas textureNamed:textureName];
-OR-
создавать новый атлас каждый раз, когда мне нужна текстура?
SKTextureAtlas *atlas = [SKTextureAtlas atlasNamed:@"monster"];
SKTexture *f1 = [atlas textureNamed:@"monster-walk1.png"];
Причина, по которой я спрашиваю, заключается в том, что при первом подходе мой код может быть довольно громоздким, так как у меня будет создано более 10 ссылок на атлас. Будет ли это использовать слишком много памяти? Со вторым подходом я обеспокоен тем, что мне придется выполнять много дополнительной работы по созданию атласа каждый раз, когда я выполняю итерацию цикла. Как мне это сделать?