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

2023-05-16

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文件引入项目中

image.png

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文件引入项目中

image.png

不再在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>

效果

asd.gif

使用方法,可以控制动画

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的数字。对于有的动画这些设置差别不大。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • (数据结构与算法分析 一)------快速求幂算法,Java递归实现

    快速求幂算法 xff0c 递归实现 xff0c 其实算法的思想很简单 xff0c 但是感觉非常经典 xff0c 这个也是我开始看数据结构与算法分析这本书的开始把 xff0c 大学期间感觉就得深究一下算法 xff0c 课堂学习的太肤浅 xff
  • 字符串拷贝函数memcpy和strncpy以及snprintf 的性能比较

    问题 xff1a 函数memcpy dest src sizeof dest strncpy dest src sizeof dest 和snprintf dest sizeof dest s src 都可以将src字符串中的内容拷贝到de
  • snprintf函数使用总结

    一直有接触snprintf 经久不用知识点又会模糊 记录下来以便日后查看 依赖头文件 include lt stdio h gt 函数原型 int snprintf char str size t size const char forma
  • 如何在Ubuntu 18.04 LTS上使用UFW设置防火墙

    正确配置防火墙是整个系统安全中最重要的方面之一 默认情况下 xff0c Ubuntu 18 04 LTS 附带了一个名为 UFW xff08 Uncomplicated Firewall xff09 的防火墙配置工具 xff0c UFW 是
  • 全程技术干货:VR画面渲染性能是这样提升的

    本文您将了解到 xff1a 1 xff0c VR渲染面临什么问题 xff1f 2 xff0c 如何做好VR的渲染 xff1f 3 xff0c 怎样提升VR渲染的性能 xff1f 渲染对于VR内容的开发来说 xff0c 是非常重要的议题 但在
  • Python微信小程序,实现自动回复等功能(itchat模块)

    本文是使用Python的itchat模块进行微信私聊消息以及群消息的自动回复功能 xff0c 必须在自己的微信中添加微信号xiaoice ms xff08 微软的微信机器人 xff09 才能实现 xff0c 直接复制代码运行之后扫一扫二维码
  • 最大完全子图和极大连通子图

    最近学习图论的一串小结之一 完全图 amp 完全子图 amp 最大完全子图 完全图 xff1a 任意两点都恰有一条边相连的图 任意两点都相邻 完全子图 xff1a 满足任意两点都恰有一条边相连的子图 xff0c 也叫团 最大完全子图 xff
  • python3回溯找最大团

    最近学习图论的一串小结之三 数学概念见上上篇 xff1a 最大完全子图和极大连通子图 最大团问题分析可以移步这篇博文 xff1a 回溯 图论 最大团问题 xff08 求最大完全子图 xff09 代码一部分参考了这篇博文 xff1a pyth
  • python3关于经纬度、方向角、目标距离

    博主搞了半天haversin公式倒腾距离之后 xff0c 发现有现成的geopy可用 xff0c 且网上查到的一些函数用法似乎有改变 xff0c 遂整理如下 已知两点经纬度求距离 from geopy distance import geo
  • 零基础LSTM入门示例

    最近用pytorch搭了个LSTM模型 xff0c 由于博主两个都没基础 xff0c 所以查来查去兜了不少圈子 xff0c 干脆总结一个极简的LSTM代码示例 xff0c 供参考 仅使用了torch nn Module自定义模型 随便挑了a
  • 零基础自定义数据集入门示例

    总结一个简单的自定义数据集示例 假设数据文件存储在path中的txt文件中 xff0c 内容为 时间 xff0c 数据1 xff0c 数据2 xff0c 数据3 的列表 对应的标签存在label txt中 from torch utils
  • not executable: 64-bit ELF file 已解决

    not executable 32 bit ELF file 已解决 not executable 64 bit ELF file 已解决 如上二个问题 1 xff0c 在ubuntu系统中 gcc linaro 7 5 0 2019 12
  • 训练集、测试集、验证集,以及数据集切分代码

    区别一下三个概念 xff1a 训练集 xff1a 顾名思义 xff0c 用于训练模型 xff0c 调整网络中的权值 偏差等参数 测试集 xff1a 对模型能力进行评估 xff0c 调整学习率等超参 xff0c 使模型效果达到最优 验证集 x
  • AI编程软件会取代程序员吗?

    最近听到同事问了这样一个问题 xff0c 今天就来好好的唠一唠 xff0c 随着科学技术的发展 xff0c 现在生命上都已经开始出现AI编程软件了 不由得感叹 xff0c 一句现在时代发展还真快呀 xff01 然后我就和他一样产生了一种小小
  • Android MTK Keyguard 锁屏UI 分析

    注意有时候锁屏并不是 以apk的形式存在的 直接在系统内部有一个锁屏框架 源文件路径主要Android2 2和2 3版本 有两个 xff1a frameworks base policy src com android internal p
  • 机器人操作系统ROS是什么?

    目录 1 什么是ROS 2 ROS的许可协议 3 ROS的主要发行版本 4 ROS的主要功能 5 ROS的应用 6 ROS开发的常用工具 7 ROS的优点 8 ROS的缺点 1 什么是ROS ROS是机器人操作系统 xff08 Robot
  • grub menu.list 配置

    因重装系统 xff0c 把GRUB引导菜单搞没了 xff0c 一直不知道怎么找回来 xff0c 今天看到贴子 xff0c 试了下 xff0c 成功了 主要步骤是下边兰字部分t 而恢复Grub xff0c 其实也很简单的 xff1a 用Liv
  • Android 11 行为变更 :所有应用

    Android 11 平台包含一些行为变更 xff0c 这些变更可能会影响您的应用 以下行为变更将影响在 Android 11 上运行的所有应用 xff0c 无论其采用哪种 targetSdkVersion 都不例外 您应该测试您的应用 x
  • Spring中的Bean的管理(史上最全)

    1 BeanFactory接口 本文介绍Spring里的BeanFactory 包括 xff1a BeanFactory 和 FactoryBean的ApplicationContext的委托 BeanFactory 和 FactoryBe
  • vue-lottie控制动画的播放、暂停、跳转帧数

    lottie 简介 Lottie适用于Android iOS iOS Web React Native React Native https github com airbnb lottie react native 和Windows Lo