Pregunta

Estoy usando Cocoa2Ds para hacer un juego para iOS.Sé que probablemente sea simple,pero ¿hay alguna forma de cambiar las imágenes de sprites de un archivo CC mediante programación?

Creé un objeto sprite de héroe y luego lo arrastré a la escena principal utilizando SpriteBuilder.

En última instancia, me gustaría cambiar el objeto sprite héroe a otra imagen que también se anime (mueva).

¿Fue útil?

Solución

Preguntaste sobre cambiar una imagen "CCFile", pero supongo que te referías a la imagen "CCSprite".Si es así, se puede cambiar una imagen de sprite creando primero un marco de sprite y luego asignándolo al sprite:

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

Para que esto funcione, la imagen a la que hace referencia ya debe estar cargada en la memoria, por ejemplo, a través de una hoja de sprites:

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

Mencionaste la animación.Si está intentando animar un sprite, y todas las imágenes se cargan en la memoria y tienen el mismo nombre, excepto por un número secuencial adjunto, puede hacer que un sprite se mueva a través de estas imágenes, animándolo así, de la siguiente manera:

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

Los nombres de las imágenes estarían en la línea de " imageName 0001.png", "Nombre de imagen 0002.png", y así sucesivamente.

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

Esto recorrerá las imágenes en función del retraso designado.

Espero que esto ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top