日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

动画道路上的新宠 -- Lottie

發(fā)布時間:2023/12/15 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 动画道路上的新宠 -- Lottie 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

能夠成為新寵,必定是有他自己的獨特之處,那么lottie到底是什么呢?

在沒有接觸lottie之前,要想做一個很炫酷的動畫效果要經過很復雜的計算,嗯,對于不善于這種高難度的計算的我來說,很是具有挑戰(zhàn)性啊,不過從今以后,制作一個動畫就很容易啦

1. lottie 簡介

Lottie是一個iOS,Android和React Native庫,可以實時渲染After Effects動畫,并且允許本地app像靜態(tài)資源那樣輕松地使用動畫。Lottie使用名為Bodymovin的開源After Effects的擴展程序導出的JSON文件格式的動畫數(shù)據(jù)。簡單來說就是利用一個json格式的動畫數(shù)據(jù)來渲染到頁面上,就是這么簡單,官方文檔上就有很多的小demo,比如?


2. lottie 能幫到我們嗎?

答案是肯定的,首先,設計同學在Adobe After Effects上設計了動畫效果,通過bodymovin插件,可以將動畫導出成一個json文件。

然后,開發(fā)同學就可以通過Lottie將前面生成的json文件渲染成動畫效果。
這樣就可以高效的實現(xiàn)很多復雜動畫效果啦

是不是看著就很有技術含量,不要急,下面我們也來做一個

3. lottie 實例

  • 第一步 安裝vue-cli 搭建一個基本的vue實例
npm install -g vue-clivue init webpack test? ?// 構建一個名為test的文件
  • 第二步 安裝vue-lottie
npm install --save vue-lottie
  • 第三步 引入到你的文件中,當然你也可以全局引入
import Lottie from 'vue-lottie'?
  • 第四步 引入json文件

這一步很是關鍵,他決定了你動畫的成敗,在做練習的時候,你可以到下面這個地方,也就是官網(wǎng)去找一個你喜歡的動畫,然后下載下來

神奇世界的大門

像這樣引入到你的文件中

import * as animationData from './assets/pumped_up.json'復制代碼

  • 第五步 開始做動畫啦

? ? 像引入canvas一樣寫入你的文件中

<lottie :options="defaultOptions" :height="400" :width="400" v-on:animCreated="handleAnimation"/>復制代碼

? 不同于canvas的是他要有自己的方法

data () {return {defaultOptions: { animationData: animationData },animationSpeed: 1,anim: {}}},methods: {handleAnimation (anim) {this.anim = anim}}復制代碼

如果你想要加上暫停鍵,開始鍵等這些就這樣寫?

<template><div id="app"><lottie :options="defaultOptions" :height="400" :width="400" v-on:animCreated="handleAnimation"/><div><p>Speed: x{{animationSpeed}}</p><inputtype="range"value="1"min="0"max="3"step="0.5"v-on:change="onSpeedChange"v-model="animationSpeed"></div><button @click="stop">stop</button><button @click="pause">pause</button><button @click="play">play</button></div> </template> <script> import Lottie from 'vue-lottie' import * as animationData from './assets/pumped_up.json' export default {name: 'app',components: { 'lottie': Lottie },data () {return {defaultOptions: { animationData: animationData },animationSpeed: 1,anim: {}}},methods: {handleAnimation (anim) { this.anim = anim},// 停止動畫stop () {this.anim.stop()},// 開始動畫play: function () {this.anim.play()},// 暫停動畫pause: function () {this.anim.pause()},// 動畫速度onSpeedChange () {this.anim.setSpeed(this.animationSpeed)}}} </script>復制代碼

好了,到了看效果的時候了?(我承認這個動圖做得有點丑,但是相信我,運行的效果真的很贊?)


  • 第六步? 感謝欣賞

上面的案例是不是很簡單呢,不知道這個新的分享有沒有讓你get到新世界的大門,反正我是領略到了,想要做更炫酷的效果可以自己細細的研究一下哦??

最后附上開源地址:

  • Android: Android地址
  • iOS: iOS地址
  • React Native:React Native地址
  • lottie-web地址:github.com/airbnb/lott…


轉載于:https://juejin.im/post/5b7e74ce51882542a92ba0e9

總結

以上是生活随笔為你收集整理的动画道路上的新宠 -- Lottie的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。