lottie
Previous
rough
Next
Package on demand
Loading...
Lottie 能极大丰富动画的描述能力。在可视化叙事中也有不错的使用场景。
在 G2 中通过 @antv/g-lottie-player 可以将 Lottie 加入画布。同时提供简单的动画控制方法例如播放、暂停以及跳转到指定时刻或帧,加入到画布后就可以像基础图形一样任意操作它们。
首先安装 @antv/g-lottie-player
播放器:
npm install @antv/g-lottie-player --save
等待画布初始化、Lottie 文件加载完成后,即可创建 Lottie 动画对象,随后渲染到画布得到一个 Group,可任意对它进行变换,例如缩放或者移动到指定地点:
import { loadAnimation } from '@antv/g-lottie-player';(async () => {// 从上下文中获取画布const { canvas } = chart.getContext();await canvas.ready;// 加载 Lottie 文件const lottieJSON = await fetch('https://mdn.alipayobjects.com/huamei_qa8qxu/afts/file/A*C9f6TaadHikAAAAAAAAAAAAADmJ7AQ',).then((res) => res.json());// 创建动画const animation = loadAnimation(lottieJSON, { loop: true, autoplay: true });// 渲染到画布,得到 Group 容器const wrapper = animation.render(canvas);// 任意操作容器,例如移动到指定位置wrapper.scale(0.5);wrapper.translate(160, 100);})();
效果如下:
更多动画控制选项可以参考:Lottie Animation 文档。