Flash2Cocos2D 6

Flash2Cocos2D 6

测试测试通过
Lang语言 Obj-CObjective C
许可证 MIT
发布了最新版本2014年5月

未命名 维护。



  • 作者
  • cstuempges

FlashToCocos2D

此工具提供了一种快速重用 Flash CS 中制作的动画的方法。Grapefrukt 的惊人导出器的微调版本提供了一种将 Flash 制作的角色的动画信息(位置、旋转、缩放、透明度)导出到 xml 的方法。FlashToCocos iOS 库读取这些 xml 文件并在 Cocos2D 中重新创建角色。

基本工作流

FLASH 方面

  • 在 Flash 中的一个 MovieClip 中创建您的角色。
  • 创建时间轴动画。不可嵌套。所有 tweens 必须在时间轴上同时可见。
  • 每个动画都必须有一个带有唯一名称的帧关键点。(例如: "跳舞", "奔跑"....) 至少有一个标签。
  • 要在动画期间启动自定义事件,您可以使用以 @ 为前缀的帧关键点标签。(例如: "@启动声音")
  • 为您的角色 MovieClip 选择 '导出为 Actionscript'
  • 在第一帧上添加 Grapefrukt 导出代码。两种示例用途

    1) 为视网膜导出

    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();

    2) 为视网膜和非视网膜导出

    import com.grapefrukt.exporter.simple.*;
    import com.grapefrukt.exporter.extractors.*;
    import com.grapefrukt.exporter.textures.*;
    
    const SCALE_RETINA = 1;
    const SCALE_NON_RETINA = .5;
    const COCOS_RETINA_EXT:String = "-hd";
    
    // change robot for whatever name you want to use
    var export:FTCSimpleExport = new FTCSimpleExport(this, "robot", stage.frameRate); 
    
    // change RobotCharacterMc for whatever name your MovieClip is in the library
    AnimationExtractor.extract(export.animations, new RobotCharacterMc, null, true, 1);
    var textureSheetRetina:TextureSheet = TextureExtractor.extract(new RobotCharacterMc, null, false, null, true, SCALE_RETINA, FTCBitmapTexture, COCOS_RETINA_EXT);
    var textureSheetNonRetina:TextureSheet = TextureExtractor.extract(new RobotCharacterMc, null, false, null, true, SCALE_NON_RETINA);
    
    export.texturesFile.add(textureSheetRetina); 
    export.texturesArt.add(textureSheetRetina); 
    export.texturesArt.add(textureSheetNonRetina); 
    
    export.export();    

  • 更新发布设置,包含所需的库路径

    • Flash2Cocos 项目路径... Flash2Cocos2D/example/flash/libs/

  • 发布
  • 在左上角点击 "点击输出"
  • 保存 zip 文件
  • 解压 zip 文件

XCODE

  • 开始一个 Cocos2D项目
  • 启用 ARC,按照以下说明
  • 添加 FlashToCocos 库
  • 如果尚未安装 CocoaPods,请添加 TBXML 库。 (如果已安装 CocoaPods,则它已包含在 Flash2Cocos2D/example/F2C_RobotTutorial/Pods/TBXML 中。)
  • 添加从 Flash 创建的文件解压的结果

FTCCharacter 类

概览

FTCharacter 是主要使用的类。它扩展了 CCLayer,并负责加载 XML 文件和纹理。仍然暴露了许多不应该暴露的方法。希望我们能在短期内清理一下代码。

类方法

-(FTCharacter) characterFromXMLFile:(NSString *)xmlFileName

读取 XML,加载纹理并返回 FTCCharacter。
IE: FTCharacter *robot = [FTCharacter characterFromXMLFile:@"robot"]

实例方法

-(void) playAnimation:(NSString *)animation loop:(BOOL)loops wait:(BOOL)waits

开始播放指定的 动画。如果指定了循环,则将循环播放。等待参数表示是否在开始播放前等待上一动画结束。

-(void) stopAnimation

停止当前播放的动画。

-(void) pauseAnimation

暂停当前动画。

-(void) resumeAnimation

恢复当前暂停的动画。

-(void) playFrame:(int)_frameIndex fromAnimation:(NSString *)_animationId

将角色的指定 设置为指定的 动画