lottie

简介

Lottie适用于Android, iOS、 iOS、Web, React Native、[React Native](https://github.com/airbnb/lottie-react-native 和Windows

Lottie是Airbnb开源的一个用于Android, iOS, Web和Windows的库,解析Adobe After Effects动画导出为json与Bodymovin,并在移动和Web上原生渲染它们!

相关链接

官网

文档

lottie-web

vue-lottie

开始使用

npm install --save vue-lottie

第一种

main.js

import lottie from 'vue-lottie';
Vue.component('lottie', lottie)

将json文件引入项目中

vue

<template><div><lottie  :options="defaultOptions" :height="400" :width="400" v-on:animCreated="handleAnimation"/></div></template><script>
/*** When I wrote this code,Only God and I understood what I was doing.* Now,God only knows  !!!*/
import loading from '../assets/lottie/load'
export default {name: "lottie-demo",data() {return {defaultOptions: {animationData: loading},anim:{},};},methods: {handleAnimation: function (anim) {this.anim = anim;},},
}
</script><style lang="scss" scoped></style>

第二种

同样是将json文件引入项目中

不再在main.js中引用,直接在vue中引用

<template><div><lottie  :options="defaultOptions" :height="400" :width="400" v-on:animCreated="handleAnimation"/></div></template><script>
/*** When I wrote this code,Only God and I understood what I was doing.* Now,God only knows  !!!*/
import Lottie  from 'vue-lottie';
import loading from '../assets/lottie/load'
export default {name: "lottie-demo",components:{Lottie},data() {return {defaultOptions: {animationData: loading},anim:{},};},methods: {handleAnimation: function (anim) {this.anim = anim;},},
}
</script><style lang="scss" scoped></style>

效果

使用方法,可以控制动画

anim

  • anim.play()
  • anim.stop()
  • anim.pause()
  • anim.setSpeed(speed) – 播放速度 ,1 为正常速度。
  • anim.goToAndStop(value, isFrame) 跳转到某一时间(或帧)并停在那。第一个参数(value)是数值。第二个参数是布尔值,"true"则第一个参数表示“帧”,“false”则表示“时间”。
  • anim.goToAndPlay(value, isFrame) 跳转到某一时间(或帧)并播放。第一个参数(value)是数值。第二个参数是布尔值,"true"则第一个参数表示“帧”,“false”则表示“时间”。
  • anim.setDirection(direction)** – 播放方向,正数和0为正常播放,负数为倒放。
  • anim.playSegments(segments, forceFlag) – 播放指定段落。第一个参数是一个数组,形式为[(a,b),(c,d),(e,f)…]则播放第a帧到b帧,然后第c帧到d帧,e到f…… ,第二个参数为布尔值,“true”则立刻播放参数一中的片段,“false”则播放完当前动画后再开始播放片段。
  • anim.destroy()

bodymovin

  • bodymovin.play() – 播放指定动画,1个参数动画名。
  • bodymovin.stop() – 停止播放指定动画,1个参数动画名。
  • bodymovin.setSpeed() – 第一个参数设置动画速度 (1为正常速度),第二个参数动画名可选。
  • bodymovin.setDirection() – f播放方向,正数和0为正常播放,负数为倒放,第二个参数动画名可选。
  • bodymovin.searchAnimations() – 检测class值为"bodymovin"的元素。
  • bodymovin.loadAnimation() – 前面已有介绍, 返回一个可单独控制的动画实例。
  • bodymovin.destroy() --销毁和释放资源。 DOM 元素将会被清空。
  • bodymovin.registerAnimation() – 你可以直接用registerAnimation来注册一个自定义元素,它必须包含"data-animation-path"属性并指向data.json的地址。
  • bodymovin.setQuality() – 画质设置,调整动画播放器性能。默认为高画质(high), 可选值为’high’、‘medium’、‘low’, 或者大于1的数字。对于有的动画这些设置差别不大。

vue-lottie控制动画的播放、暂停、跳转帧数相关推荐

  1. U3D Animator 组件控制动画的播放暂停,动态添加帧事件

    //顺便说一句,U3D的动画编辑器有BUG,添加关键帧事件后选了函数会说不支持,其实是可以用.运行下看结果来定吧. //大家好我是笨笨,笨笨的笨,笨笨的笨,谢谢! //20150810 by Jerr ...

  2. CSS3属性animation-play-state控制动画运行或暂停的技巧

    animation-play-state介绍 animation-play-state 属性规定动画正在运行还是暂停. div{animation-play-state:paused;-webkit- ...

  3. unity Timeline控制动画的播放

    unity Timeline控制动画的播放 创建一个空物体GameObject,添加Playable Director组件,添加脚本组件: 新建一个长方体: 创建timeline并将其拖到空物体的Pl ...

  4. UE4(unreal engine4)蒙太奇动画删除不想要的帧数

    UE4系列文章目录 文章目录 UE4系列文章目录 前言 一.问题原因 二.具体操作步骤 前言 UE4(unreal engine4)蒙太奇动画删除不想要的帧数.当我们在UE4中导入一个fbx骨骼动画. ...

  5. 如何查看一个avi文件的播放帧率?和帧数

    如何查看一个avi文件的播放帧率?和帧数 右键属性,详细信息: 如何查看avi文件的帧数? 拖拽到imageJ中,在左上角就可以看到:

  6. html音乐自动播放暂停js,JS实现控制HTML5背景音乐播放暂停

    实现控制网站背景音乐的播放暂停在html5中是非常容易和简单的,仅仅几行代码即可实现. 首先在网页中嵌入背景音乐,html5代码为: 通过audio的id即可控制音乐的播放(play())和暂停(pa ...

  7. Service后台服务控制音乐的播放暂停和停止,播放完自动播放下一曲

    //添加获得sd卡的状态权限,和读取sd卡的权限 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FIL ...

  8. 使用as3控制动画的播放与暂停

    1.需要两个按钮元件 2.在属性面板为两个按钮元件分别命名为pausebutton与playButton 3.代码 stop();pausebutton.visible = false; playBu ...

  9. html让gif图片暂停,控制gif图片播放暂停插件-jquery.gif.js

    插件描述:jquery.gif.js是一款可以对Gif图片进行预览和播放的jQuery插件. 效果预览: Gif图片预览和播放jQuery插件-jquery.gif.js 简要教程 jquery.gi ...

最新文章

  1. java 小坑_关于Java子父类关系的小坑
  2. 初识Maven POM
  3. 一个例子学懂搜索引擎(lucene)
  4. 做主管常犯的毛病毛病六:忘了公司的命脉:利润(转)
  5. 转为字符数组_数组的20种常用的方法?
  6. np.random.choice用法
  7. 华为鸿蒙系统自动驾驶,华为高阶自动驾驶 + 华为鸿蒙 OS 车机系统体验
  8. i++与++i的区别+汇编分析
  9. IScroll5 参数说明和调用方法
  10. PDF 报告生成器:用 reportlab 和 pdfrw 生成自定义 PDF 报告
  11. 在一个窗体的panel控件中显示其他窗体
  12. 程序猿生存指南-15 领导视察
  13. 搜狗批量推送软件-搜狗批量推送工具【2022最新】
  14. 有奖调研 | 让虚拟照入现实的完美AR开发平台长什么样?
  15. 如何在发布宝贝页面时嵌入视频
  16. 地磁基本知识(四)磁异常的解释及卫星磁测
  17. 一般试卷的纸张大小是多少_试卷,考试试卷是多大的纸
  18. unity 高德地图 Android
  19. 天九共享:企业成功的重要元素是责任感
  20. 资料搜集-JAVA系统的梳理知识18- Spring

热门文章

  1. 武汉牛批的互联网公司基本都在这了~
  2. 解决方案丨5G技术助力搭建智慧园区
  3. 习题 3-6 纵横字谜的答案
  4. AFL查看crash文件
  5. 培训学校的教务管理系统存在的问题有哪些?
  6. <<电子工程师必备 元器件应用宝典 8>>目录
  7. c语言打印杨辉三角七阶,C语言实现:打印杨辉三角
  8. 诛仙为什么没有服务器显示无线,为什么诛仙连接不上服务器呢?未进行数据互通,要怎么解决?!!!!跪求!!!!!!!!!...
  9. 爱普生Epson EPL-6200 打印机驱动
  10. 博图买什么样配置的笔记本_装博途 软件 笔记本的硬件配置要求-工业支持中心-西门子中国...