跳到主要内容

Flash 与 Animate 文件

Rive 可以将 Adobe Animate 文件转换为 Rive 文件。库元件、时间轴、补间、按钮、帧脚本和声音都会被重建为可编辑的 Rive 内容,让你无需手动重做就能把现有的 Flash 动画带进 Rive。

Rive 支持两种文件类型:

  • 在 Animate CC 或更高版本中保存的 .fla 文件
  • 打包成单个 .zip 文件的 XFL 文件夹

转换 Flash 文件(Converting a Flash file)​

  1. 打开文件浏览器,选择要放入文件的项目和文件夹。

  2. 将 .fla 或打包好的 XFL 文件拖入文件浏览器。

Rive 会转换该文件,并在文件夹中新增一个 Rive 文件。新文件沿用原文件的名称。

原始的 .fla 或 .zip 文件不会被保留。如果之后还想在 Animate 中修改,请自行保留一份副本。

Animate 内容如何转换(How Animate content converts)​

转换器会使用与原 Animate 功能行为一致的 Rive 功能。

AnimateRive
主时间轴(Main timeline)一个名为 Scene 1 的画板,尺寸与舞台一致,并以舞台颜色作为背景
库元件(Library symbol)每个元件对应一个画板,以组件形式放置
时间轴(Timeline)每个画板上的一条时间轴,由状态机播放
传统补间、动作补间和形状补间带插值的关键帧,包括自定义缓动和补间旋转
逐帧动画Solo
运动引导层(Motion guides)Follow Path 约束,包括沿路径调整方向
图层父子关系按图层层级嵌套的组
遮罩层裁剪形状(Clipping shapes)
IK 骨骼与姿势骨骼及其动画
位图嵌入的图像资源。位图填充变换、平滑和实例透明度都会保留
9 切片缩放N-Slicing
帧声音(MP3、WAV、FLAC)音频事件
静态、动态和输入文本文本

形状、基本图形、纯色和渐变填充、虚线和点线描边,以及引导层和文件夹图层也会一并保留。

帧标签与脚本(Frame labels and scripts)​

帧标签会变成画板状态机中的状态。调用 stop()、gotoAndPlay() 或 gotoAndStop() 的帧脚本会变成这些状态之间的过渡。目标可以是帧号或标签。脚本可以是 ActionScript 2、ActionScript 3 或 HTML5 Canvas JavaScript。

只有顶层调用会被转换。函数、事件处理器或条件语句中的调用依赖状态机不具备的信息,因此会被跳过。

按钮(Buttons)​

按钮元件会获得一个带 Up、Over 和 Down 状态的状态机。Hit 帧会变成一个不可见的点击区域,并带有跟踪悬停和按下的监听器。如果 Hit 帧为空,则和 Animate 中一样改用 Up 帧。

悬停和按下状态存储为以该元件命名的视图模型上的 hovered 和 pressed 属性。每个放置的按钮都有自己的视图模型实例,因此每个按钮各自独立响应。

图形元件(Graphic symbols)​

图形元件会保留其播放设置:Loop、Play Once、Single Frame 以及两种反向模式,还有首帧和末帧。它们的播放与父时间轴保持同步。

字体(Fonts)​

字体名称会保留到文本样式中。默认嵌入 Inter 字体。如果某个字体在 Rive 中不可用,请导入该字体并将其指定给受影响的文本。

限制(Limitations)​

部分 Animate 功能无法转换:

  • 额外的场景: 只转换第一个场景。跳转到其他场景的脚本会被跳过。
  • 色彩效果、滤镜和混合模式: 色调、亮度、高级色彩效果、滤镜和混合模式会被移除。Alpha 会转换为不透明度。
  • ActionScript 逻辑: 只转换帧标签与脚本中所述的帧脚本调用,其他代码会被移除。
  • 无法解码的图像: 这些图像不会出现在转换后的文件中。

转换之后(After converting)​

转换后的文件只是一个起点。请检查并按需调整:

  • 检查字体是否显示正确,并导入缺失的字体。
  • 用 Rive 功能重建色彩效果和滤镜,例如填充、不透明度或混合模式。
  • 删除不需要的画板。为了匹配 Animate 的 9 切片行为,以多种不同缩放比例放置的元件会为每种比例单独生成一个画板。
  • 按项目需要重命名状态、时间轴和视图模型。
看完还有疑问?进群交流下!
与众多 Rive 创作者、开发者一起交流探讨与答疑解惑。
加入交流群