Я должен кэшировать текстуры в свойствах в спрайте?
Я использую атласы для изображений в моей игре. Я загружаю все свои атласы в начале моей игровой сцены 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;
}