基于Two.js实现的一个小demo,星球环绕动画效果

下面是核心js code HTML就不贴了,需要引入two.js文件:

        var elem = document.getElementById('draw-animation');
        var two = new Two({  700, height: 700 }).appendTo(elem);
        //外层大运行轨迹
        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 小的运行轨迹
        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) {//执行动画
           group1.rotation += 0.01 *2* Math.PI;
           group.rotation += 0.01 * Math.PI;
        }).play();

  

原文地址:https://www.cnblogs.com/harlem/p/6675349.html