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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

html如何加载ae做好的,AE转JS动画,lottie.js和bodymovin的简易使用心得

發布時間:2023/12/20 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html如何加载ae做好的,AE转JS动画,lottie.js和bodymovin的简易使用心得 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PS:描述不清或者描述錯誤請見諒...

AE動畫轉換JS動畫使用了lottie.js庫

制作流程:

1、設計師使用PS或者AI制作靜態設計稿;

2、設計師對設計稿圖層進行分類

3、導入AE制作

4、AE導出文件,對應使用的AE插件為bodymovin

5、前端開發 接收設計師發來的文件,提取相關代碼,寫入需要使用的頁面。

前端的工作:

1、設計師發來的文件里,通常包含data.js和demo.html,如果bodymovin導出時沒有勾選圖片轉換為base64的話會多出一個images文件夾存放圖片文件,注意,在新版本的bodymovin 里導出的是data.json和demo.html,前端工作量會小一點。

2、樣式方面:

#lottie{

width: 100px;

height: 100px;

display:block;

overflow: hidden;

transform: translate3d(0,0,0);

}

需要為動畫設置一個容器,定義寬高,transform為強制開啟GPU渲染,容器設置ID

3、引入庫文件

4、提取動畫數據

(1)data.js 和 demo.html 存在的情況下:

let animationData = {......};

let params = {

container: document.getElementById("lottie"),

renderer: "canvas",

loop: true,

autoplay: true,

animationData: animationData

}

let anim = lottie.loadAnimation(params);

(2)data.json 和 demo.html 存在的情況下:

let animationData = {......};

let params = {

container: document.getElementById("lottie"),

renderer: "canvas",

loop: true,

autoplay: true,

path: "data.json"

}

let anim = lottie.loadAnimation(params);

data.json存在時不需要提取animationData !

container:為預留的動畫容器;

renderer:為動畫模式,html為純dom結構動畫,canvas為畫板動畫,svg為svg動畫;

loop:為循環

autoplay:為自動播放

animationData:為動畫數據,該內容與data.js內容一致,所以data.js 可以不使用;

path:為動畫數據,與animationData不可同時使用,數值為data.json的路徑

常用方法:

輸出動畫時長秒:

console.log("時長(s):" + anim.getDuration(false));

輸出動畫時長幀:

console.log("時長(幀):" + anim.getDuration(true));

暫停:

anim.pause();

播放:

anim.play();

停止:

anim.stop();

銷毀動畫實例:

anim.destroy();

正/反向播放:

anim.setDirection(parm);

parm: 1為正向,-1為反向

播放速度:

anim.setSpeed(num);

例子,用同一個按鈕切換播放/停止的方法:

document.getElementById("btn").onclick = function(){

if(anim){

anim.destroy();

anim = undefined;

}

else{

anim = lottie.loadAnimation(params);

}

}

總結

以上是生活随笔為你收集整理的html如何加载ae做好的,AE转JS动画,lottie.js和bodymovin的简易使用心得的全部內容,希望文章能夠幫你解決所遇到的問題。

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