iOS7 какъв е правилният начин за създаване и използване на SKTextureAtlas?

Не съм сигурен в основната реализация на атласите на текстурите, така че въпросът ми е - кой е правилният начин да се справя с изтеглянето на текстури от тях? Трябва да прегледам различни атласи и да извадя 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+ препратки към атлас. Това ще използва ли твърде много памет? При втория подход съм загрижен, че ще върша много допълнителна работа, създавайки атлас всеки път, когато изпълнявам итерация на цикъл. Как трябва да направя това?


person Alex Stone    schedule 01.12.2013    source източник


Отговори (1)


Създайте всеки атлас веднъж и запазете препратка към него.

Не е неудобно, ако напишете клас, който управлява атласи и ви дава достъп до отделни текстури.

person LearnCocos2D    schedule 01.12.2013