## 整体架构 Easecurve 缓动引擎由 **ECB (EasecurveBuilder)** 、 **ECI (EasecurveInterface)** 两部分组成,与其密切相关的有 **ECR (EasecurveResource)** 、 **ECP (EasecurvePackage)** 、 **EXML (EasecurveXML)** 三大结构文件。本小节仅对其做基本的介绍,如有详细了解结构文件的需求,请跳转至 **[标准封装](https://www.kancloud.cn/sunwish/easecurve/282432)** 章节 *** ### ECB (EasecurveBuilder) EasecurveBuilder(ECB)是 Easecurve 提供的能够对.ecr缓动结构文件进行曲线化设计的新型开发工具。使用 EasecurveBuilder,您可以快速高效地对.ecr缓动文件进行可视化的开发与调整,实现缓动视觉与程序本体的逻辑分离,大大提高动效设计的效率,保护了接入源程序的独立性与迭代更新的轻便性。 ### ECI (EasecurveInterface) EasecurveInterface(ECI)是 Easecurve 提供的能够快速地将经由 EasecurveBuilder 设计的缓动曲线文件接入应用到实际需求场景下的强大接口。使用 EasecurveInterface,您可以简明快速地将.ecr缓动结构文件所提供的模板动效接入到您的目标程序当中,也可以单纯自由地取得任意相对时刻下缓动结构文件中的回调数据,这有效地规避了 ECI 接口自身的局限性,以便您更加自由地利用模板数据设计独一无二的缓动动效。 ### ECR (EasecurveResource) EasecurveResource(ECR)是经由 EasecurveBuilder 渲染生成的标准的缓动结构文件,其内包含了利用 ECI 完成一个标准缓动所必须的全部数据,有且不限于曲线段数、段占比、时间映射。因为 ECR 文件当中存储了大量的数据,因此较高的精度通常需要以文件体积的增大作为代价。 ### ECP (EasecurvePackage) EasecurvePackage(ECP)是经由 EasecurveBuilder 渲染生成的标准的缓动结构包文件,其内包含了利用 ECI 完成一个标准包缓动所必须的全部数据,有且不限于曲线段数、段占比、时间映射。因为 ECP 文件当中存储了大量的数据,因此较高的精度通常需要以文件体积的增大作为代价。 ### EXML (EasecurveXML) EasecurveXML(EXML)是 Easecurve 提供的一种强大的缓动模式文件,通过EXML与ECI的有机结合能够帮助开发者快速高效地实现程序中的大规模缓动(全局变动)。在 EasecurveBuilder 中可借助布局文件可视化地对EXML文件进行开发与修整, EXML文件短小精悍,具有可调控、易维护、独立性强等优点。 ### ECProject(EasecurveProject) EasecurveProject(ECProject) 是缓动曲线设计软件 EasecurveBuilder 的专用格式,可以保存 EasecurveBuilder 的曲线路径、缓动设置等数据。用 ECProject 格式保存缓动曲线文件时只保留必要的设置数据及关键点信息,属于有损保存,所以当缓动需求十分复杂、精度要求十分高时也能够保持极小的体积与磁盘占用。使用 EasecurveBuilder 完成曲线的设计后最好存储一个 ECProject 的文件备份,直到确认不需要在 EasecurveBuilder 中再次编辑该曲线。