Frage

Ich verwende Cocoa2Ds, um ein Spiel für iOS zu erstellen.Ich weiß, dass es wahrscheinlich einfach ist, aber gibt es eine Möglichkeit, die Sprite-Bilder einer CCFile programmgesteuert zu ändern?

Ich habe ein Helden-Sprite-Objekt erstellt und es dann mit SpriteBuilder in die Hauptszene gezogen.

Letztendlich möchte ich das Helden-Sprite-Objekt in ein anderes Bild ändern, das ebenfalls animiert (sich bewegt).

War es hilfreich?

Lösung

Sie haben gefragt, ob Sie ein „CCFile“-Bild ändern möchten, aber ich nehme an, Sie meinten „CCSprite“-Bild.Wenn ja, können Sie ein Sprite-Bild ändern, indem Sie zunächst einen Sprite-Rahmen erstellen und ihn dann dem Sprite zuweisen:

CCSpriteFrame * frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"NameOfFrame"];
[mySprite setDisplayFrame:frame];

Damit dies funktioniert, muss das Bild, auf das Sie verweisen, bereits in den Speicher geladen sein, beispielsweise über ein Sprite-Sheet:

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"SpriteSheetFileName.plist"];

Sie haben die Animation erwähnt.Wenn Sie versuchen, ein Sprite zu animieren, und alle Bilder in den Speicher geladen werden und bis auf eine angehängte fortlaufende Nummer denselben Namen haben, können Sie ein Sprite wie folgt durch diese Bilder bewegen und es so animieren lassen:

NSString * animateCycle = [NSString stringWithFormat:@"ImageName 00%%02d.png"];

Die Bildnamen lauten etwa „ImageName 0001.png“, „ImageName 0002.png“ usw.

CCActionInterval * action = [CCAnimate actionWithSpriteSequence:animateCycle numFrames:8 delay:.1 restoreOriginalFrame:YES];
[mySprite runAction:action];

Dadurch werden die Bilder basierend auf der festgelegten Verzögerung durchlaufen.

Ich hoffe das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top