Html5 Canvas动画旋转的小方块;

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>html5 Canvas动画旋转的小方块;</title>
    <link rel="stylesheet" href="">
</head>
<body>
    <script>
        window.onload=function(){
            var canvas = document.querySelector("canvas");
            canvas.width = canvas.height = 500
            canvas.style.background = "red"
            if (canvas.getContext) {
                var ext = canvas.getContext("2d");
                var num = 0;
                var scale=0;
                var value=0
                ext.fillStyle = "#f90";
                ext.translate(canvas.width / 2, canvas.height / 2);
                function rotate() {
                    ext.clearRect(-canvas.width / 2, -canvas.height / 2, canvas.width, canvas.height)
                    num++;
                     if(scale==100){
                         value=-1;
                     }else if(scale==0){
                         value=1
                     } 
                     scale+=value 
                    ext.save();
                    ext.rotate(num * Math.PI / 180)
                    ext.scale(scale*1/50,scale*1/50)
                    console.log(scale);
                    ext.translate(-50, -50)
                    ext.fillRect(0, 0, 100, 100);
                    ext.restore();
                }
                var t=setInterval(rotate,30);
                canvas.onmouseover=function(){
                    clearInterval(t);
                } 
                canvas.onmouseout=function(){
                    t=setInterval(rotate,30);
                } 
            }
        }
    </script>
    <canvas></canvas>
</body>
</html>

 DEMO地址:http://codepen.io/jonechen/pen/xVbPLJ

posted @ 2015-12-11 11:13  Jone_chen  阅读(2779)  评论(0编辑  收藏  举报