я должен кэшировать текстуры в свойствах в спрайте?

Я использую атласы для изображений в моей игре. Я загружаю все свои атласы в начале моей игровой сценыSKTextureAtlas preloadTextureAtlases что имело большое значение, когда я начал использовать его. Вот мой вопрос:

Должен ли я создать свойство для каждой текстуры, которая будет применяться снова и снова к появившимся спрайтам монстров или пикапов? Или это совершенно ненужные накладные расходы, потому что я предварительно загружаю свои атласы в моей игровой сцене?

Ниже приведены 2 очень простых примера в классе Monster.

Текстура кэша:

- (id)initWithSize:(CGSize)size
{
    if (self = [super init]) {
        SKTextureAtlas * atlas = [SKTextureAtlas atlasNamed:monsterAtlas];
        self.monsterFighterTexture = [atlas textureNamed:@"monster-fighter"];
    }
    return self;
}

- (Monster *)monster
{
    Monster * monster = [Monster spriteNodeWithTexture:self.monsterFighterTexture];
    return monster;
}

Не кэшируйте текстуру.

- (Monster *)monster
{
    SKTextureAtlas * atlas = [SKTextureAtlas atlasNamed:monsterAtlas];
    Monster * monster = [Monster spriteNodeWithTexture:[atlas textureNamed:@"monster-fighter"]];
    return monster;
}

Ответы на вопрос(0)

Ваш ответ на вопрос