This tool provides a fast way of reusing animations made in Flash CS in Cocos2D projects. A minimaly tweaked version of the amazing exporter by Grapefrukt provides a way to export all the animation information (position, rotation, scale) of a Flash made character to xml. The FlashToCocos iOS library reads those xml files and recreates the characters in Cocos2D.
- create your character in Flash - create as many animations a needed - every animation has to have a keyframe labeled with an unique name. IE: "*dancing*", "*running*"... - to launch custom events during an animation, you can use keyframes labels prefixed with @. IE: "*@launchSound*" - select 'Export for Actionscript' for your character MovieClip - add the Grapefukrt exporting code on the first frame:```actionscript
import com.grapefrukt.exporter.simple.SimpleExport;
import com.grapefrukt.exporter.extractors.*;
// change robot for whatever name you want to use
var export:SimpleExport = new SimpleExport(this, "robot");
// change RobotCharacterMc for whatever name you MovieClip is in the library
export.textures.add(TextureExtractor.extract(new RobotCharacterMc));
AnimationExtractor.extract(export.animations, new RobotCharacterMc);
export.export();
```
- publish
- on the top left corner click on "click to output"
- save the zip file
- unzip the zip file
- start a Cocos2D project
- enabled ARC following this instructions
- add the FlashToCocos Library
- add the TBXML Library
- add the results of unzipping the file created from Flash
-(FTCharacter) characterFromXMLFile:(NSString *)xmlFileName
Reads and XML, loads texture and returns a FTCCharacter.
IE: FTCharacter *robot = [FTCharacter characterFromXMLFile:@"robot"]
-(void) playAnimation:(NSString *)animation loop:(BOOL)loops wait:(BOOL)waits
Starts playing the specified animation. It will loop it if specified. The wait parameter indicates if this animation should wait for the previous one to finish before start playing.
-(void) stopAnimation
Stops the current animation being played.
-(void) pauseAnimation
Pauses the current animation.
-(void) resumeAnimation
Resumes the current paused animation.
-(void) playFrame:(int)_frameIndex fromAnimation:(NSString *)_animationId
Sets the character to the specified frame for the specified animation.