特效说明 
无界云剪辑中的特效是采用 Canvas 开发的,采用 require 的模式加载到项目中,这里只需要掌握 4 个基本 api 即可
模块化配置说明 
因为采用模块化开发的特效插件,我们需要配置模块化加载的地址,具体参考 Core-SDK 参数说明配置EModuleEffectSourcePath模块加载路径,
特效组件默认使用.txt文件(安全考虑),可以设置参数window.EModuleEffectSourcePathDev = true来加载.js文件(建议在开发环境中使用)。
API 说明 
开发特效只需要掌握下面 4 个基本 api 即可:
- init(canvas, element, store, PIXI) 初始化组件的时候调用
- play({relativeTime, duration, progress}) 播放动画的时候调用
- pause() 停止播放的时候调用
- destroy() 销毁后调用
模块化(moduleName.js)为例:
javascript
/**
 * init(canvas, element, store, PIXI) 初始化函数
 * play({relativeTime, duration, progress}) 播放动画函数
 * pause() 暂停
 * destroy() 销毁
 */
EModule.define("moduleName", [], function () {
  let ctx = null;
  let canvas = null;
  function init(cav) {
    canvas = cav;
    ctx = canvas.getContext("2d", { alpha: true });
  }
  function play({ relativeTime, duration, progress }) {
    console.log({ relativeTime, duration, progress });
  }
  function pause() {
    console.log("pause");
  }
  function destroy() {
    console.log("destroy");
  }
  return { init, play, pause, destroy };
});init(canvas, element, store, PIXI) 初始化触发 
参数说明:
- canvas 特效组件初始化的时候会调用,默认传入的参数有一个 canvas 元素,我们只需要在这个 canvas 元素上进行特效绘制。
- element 特效元素的 JSON 数据,存放参数信息的
- store 渲染内核暴露的全部参数,如果需要多元素联动,可以从这里去获取需要的参数
- PIXI pixijs 包
play({ relativeTime, duration, progress }) 播放动画触发 
当游标进入特效组件区域的时候会重复触发
参数说明:
- relativeTime 游标扫过元素的相对时间
- duration 特效元素的总时长
- progress 游标扫过元素的进度,等于 relative/duration
pause() 暂停触发 
当游标离开特效组件区域的时候会触发
destroy() 销毁触发 
当特效组件被删除的时候会触发,这时候可以删除画布防止出现内存的泄露
