Question

J'utilise Cocoa2Ds pour créer un jeu pour iOS.Je sais que c'est probablement simple, mais existe-t-il un moyen de modifier les images de sprite d'un CCFile par programme ?

J'ai créé un objet sprite de héros, puis je l'ai fait glisser dans la scène principale à l'aide de SpriteBuilder.

En fin de compte, j'aimerais changer l'objet sprite du héros en une autre image également animée (en mouvement).

Était-ce utile?

La solution

Vous avez demandé comment changer une image "CCFile", mais je suppose que vous parliez de l'image "CCSprite".Si tel est le cas, la modification d'une image de sprite peut être effectuée en créant d'abord un cadre de sprite, puis en l'attribuant au sprite :

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

Pour que cela fonctionne, l'image à laquelle vous faites référence doit déjà être chargée en mémoire, par exemple via une feuille de sprite :

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

Vous avez parlé d'animation.Si vous essayez d'animer un sprite et que toutes les images sont chargées en mémoire et qu'elles portent le même nom à l'exception d'un numéro séquentiel qui leur est ajouté, alors vous pouvez faire en sorte qu'un sprite se déplace à travers ces images, l'animant ainsi, comme suit :

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

Les noms d'image seraient du type "ImageName 0001.png", "ImageName 0002.png", et ainsi de suite.

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

Cela fera défiler les images en fonction du délai désigné.

J'espère que ça aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top