Wie kann ich richtig nutzen CCSpriteFrameCache und CCSpriteBatchNode?

Verstehe ich nicht, was ich genau tun, wenn ich einen CCSpriteFrameCache oder CCSpriteBatchNode zu meinem cocos2d-Anwendung. Kann jemand bitte erklären Sie die folgenden Punkte (es wäre hilfreich, wenn Sie erklären könnten, ein paar; bitte schreiben Sie die entsprechenden Buchstaben vor deiner Antwort nach, welche Frage Sie beantworten):

[alle Fragen implizieren die Erreichung der besten Leistung und den niedrigsten memory-Nutzung]

a) Ist es entscheidend, zum erstellen von spritesheets für jede einzelne Schicht ? (Beispiel: Menü - eigene spritesheet, GameLayer - eigenen spritesheet...)

b) Kann jemand erklären, warum ich die hinzufügen von sprites, um die batch-Knoten, und was für eine batch-Knoten im Allgemeinen ist ?

b1)Also, warum kann ich nicht einfach etwas wie:

      [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"menusprites.plist"];
       CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"menusprites.png"];
      [self addChild:spriteSheet];

Und dann fügen Sie einfach die sprites auf meiner Schicht durch den Aufruf

CCSprite *mySprite = [CCSprite  spriteWithSpriteFrameName:@""]; 
[self addChild:mySprite];

ohne Zugabe von Sie zu dem Knoten "batch"? Weil von dem, was ich verstehe, es funktioniert wie folgt :

Ich meine spritesheet mit allen sprites auf es auf den Bildschirm. Meine app geht dann in die plist und sucht die Koordinaten des Sprites, die ich anzeigen möchten, und dann stellen Sie es auf dem Bildschirm. Also, warum soll ich anrufen,

[spriteSheet addChild:mySprite];

?

c) Wie mache ich das dann loszuwerden, das spritesheet für das Gedächtnis dienen, wenn ich nicht, brauchen es nicht mehr ?

InformationsquelleAutor the_critic | 2012-06-02
Schreibe einen Kommentar