基于Two.js實(shí)現(xiàn)星球環(huán)繞動畫效果的示例
Two.js 是面向現(xiàn)代 Web 瀏覽器的一個(gè)二維繪圖 API。Two.js 可以用于多個(gè)場合:SVG,Canvas 和 WebGL,旨在使平面形狀和動畫的創(chuàng)建更方便,更簡潔。
Two.js 有一個(gè)內(nèi)置的動畫循環(huán),可搭配其他動畫庫。Two.js 包含可伸縮矢量圖形解釋器,這意味著開發(fā)人員和設(shè)計(jì)人員都可以在商業(yè)應(yīng)用中,如 Adobe Illustrator 中創(chuàng)建 SVG 元素,并把它引入 Two.js 使用場景中。
效果如下:

下面是核心js code HTML就不貼了,需要引入two.js文件:
var elem = document.getElementById('draw-animation');
var two = new Two({ width: 700, height: 700 }).appendTo(elem);
//外層大運(yùn)行軌跡
var track = two.makeCircle(0, 0, 200);
track.fill='transparent';
track.stroke='#3366FF';
track.linewidth=3;
//sun
var sun = two.makeCircle(0,0,80);
sun.fill='#FF8000';
sun.stroke='#FF0000';
sun.linewidth=5;
//earth
var earth = two.makeCircle(0,0,50);
earth.fill='#9ACD32';
//moon
var moon = two.makeCircle(100,0,30);
moon.fill='#1C75BC';
//inline 小的運(yùn)行軌跡
var inline = two.makeCircle(0,0,100);
inline.stroke='#3366FF';
inline.fill='transparent';
inline.linewidth=3;
//group 分組 一類型為一組
var group = two.makeGroup(inline,earth,moon);
console.dir(group);
var group1 = two.makeGroup(sun,track,group);
group1.translation.set(two.width / 2, two.height / 2); //平移(x,y)父元素的一半
group.translation.set(200, 0);
group.scale = 0.8; //比例
two.bind('update', function(frameCount) {//執(zhí)行動畫
group1.rotation += 0.01 *2* Math.PI;
group.rotation += 0.01 * Math.PI;
}).play();
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
javascript 10進(jìn)制和62進(jìn)制的相互轉(zhuǎn)換
微信小程序?qū)崿F(xiàn)動態(tài)獲取元素寬高的方法分析
promise和co搭配生成器函數(shù)方式解決js代碼異步流程的比較
json的結(jié)構(gòu)與遍歷方法實(shí)例分析
js實(shí)現(xiàn)接收表單的值并將值拼在表單action后面的方法

