• 炫酷万花筒


    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Examples</title>
    <meta name="description" content="">
    <meta name="keywords" content="">
    <link href="" rel="stylesheet">
    <style>
        #con{
            background: #ccc;
        }
    </style>
    <script>
        window.onload=function(){
            var oCon=document.getElementById('con');
            var oCanvas=oCon.getContext("2d");
            var arr=[];
                    
            setInterval(function(){
                oCanvas.clearRect(0, 0, 600, 600);
                for(var i=0;i<arr.length;i++){
                    oCanvas.save();
                    oCanvas.translate(300, 300);
                    oCanvas.rotate(arr[i].angle*Math.PI/180);
                    oCanvas.scale(arr[i].scale,arr[i].scale);
                    oCanvas.beginPath();
                    oCanvas.rect(arr[i].num, arr[i].num, 30, 30);
                    oCanvas.fillStyle=arr[i].color;
                    oCanvas.fill();
                    oCanvas.restore();
                }
                
            }, 100);
    
            // 数据变化
            setInterval(function(){
                for(var i=0;i<arr.length;i++){
                    if (arr[i].num<=0) {
                        arr.slice(i,1);
                        continue;
                    };
                    arr[i].angle+=2;
                    arr[i].num-=0.2;
                    arr[i].scale-=0.002;
                    if (arr[i].scale<0.2) {
                        arr[i].scale=0.2;
                    };
                }
            }, 60);
    
            // 产生矩形数据
            setInterval(function(){
                var rect={angle:0,num:200,scale:1,color:"rgb("+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+")"};
                arr.push(rect);
            }, 1000);
        
        }
    </script>
    </head>
    <body>
        <canvas id="con" width="600" height="600"></canvas>
    </body>
    </html>

    来看看效果图:

  • 相关阅读:
    快速排序和随机化快排学习
    P1330 封锁阳光大学 DFS
    P2577 [ZJOI2005]午餐 状压DP
    M. Subsequence 南昌邀请赛
    P1441 砝码称重 DFS回溯+DP
    P2661 信息传递 二分图的最小环
    P1196 [NOI2002]银河英雄传说 带权并查集
    P2024 [NOI2001]食物链 并查集
    F. Shovels Shop 背包DP
    P1514 引水入城 DFS
  • 原文地址:https://www.cnblogs.com/JerryWang24/p/3988388.html
Copyright © 2020-2023  润新知