Skip to content

特效案例

这是一个噪点的特效案例的应用

https://filters.pixijs.download/main/examples/index.html?enabled=AsciiFilter

javascript
/**
 * init(canvas, element, store, PIXI) 初始化函数
 * play({relativeTime, duration, progress}) 播放动画函数
 * pause() 暂停
 * destroy() 销毁
 */
EModule.define('pixiZaoDian', [], function () {
  let filter = null;
  let bodyContainer = null;

  function init(cav, element, store, PIXI) {
    // 创建噪点滤镜
    filter = new store.filters.CRTFilter();
    filter.id = element.id;
    if (!store.bodyContainer.filters) {
      store.bodyContainer.filters = [];
      bodyContainer = store.bodyContainer;
    }
    // 全局设置噪点
    store.bodyContainer.filters.push(filter);
  }

  // 播放特效
  function play({ relativeTime, duration, progress }) {
    filter.enabled = true;
  }

  // 停止特效
  function pause() {
    filter.enabled = false;
  }

  // 销毁特效
  function destroy() {
    bodyContainer.filters = bodyContainer.filters.filter(d => d.id !== filter.id);
    filter.enabled = false;
    filter = null;
  }

  return { init, play, pause, destroy };
});

Powered by 四川爱趣五科技有限公司.蜀ICP备18034069号.