Я использую атласы для изображений в своей игре. Я предварительно загружаю все свои атласы в начале моей игровой сцены с помощью 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;
}
textureNamed
. - person Gadget Blaster   schedule 18.01.2015