Sollte ich Texturen in Eigenschaften im Sprite Kit zwischenspeichern?
Ich verwende Atlanten für die Bildelemente in meinem Spiel. Ich lade alle meine Atlanten zu Beginn meiner Spielszene mit @ voSKTextureAtlas preloadTextureAtlases
, was einen großen Unterschied machte, als ich anfing, es zu benutzen. Hier ist meine Frage:
Soll ich für jede Textur eine Eigenschaft erstellen, die immer wieder auf gespawnte Monster oder Pickup-Sprites angewendet wird? Oder ist der Overhead völlig unnötig, weil ich meine Atlanten in meiner Spieleszene vorlade?
Das Folgende sind 2 sehr einfache Beispiele in einer Monster-Klasse.
Cache-Textur:
- (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;
}
Textur nicht zwischenspeichern.
- (Monster *)monster
{
SKTextureAtlas * atlas = [SKTextureAtlas atlasNamed:monsterAtlas];
Monster * monster = [Monster spriteNodeWithTexture:[atlas textureNamed:@"monster-fighter"]];
return monster;
}