canvas绘制动画效果

绘制一个笑脸,实现笑脸的左右匀速运动
html代码:

<canvas id="myCanvas" width="400px" height="400px"></canvas>

js代码:

<script type="text/javascript">
    function $(id)
    {
        return document.getElementById(id);
    }   
    var i=0,j=300,t;
    function drawCirc(cxt,color,intX,intY,intR,intH,blnFill){
        cxt.beginPath();
        cxt.arc(intX,intY,intR,0,Math.PI*intH)

        if(blnFill){
            cxt.fillStyle=color;
            cxt.fill();
        }
        else{
            cxt.strokeStyle=color;
            cxt.lineWidth=2;
            cxt.stroke();
        }
        cxt.closePath();
    }
    function drawFace(cxt){
        drawCirc(cxt,'#666',30,80,30,2,true);
        drawCirc(cxt,'#fff',20,70,5,2,true);
        drawCirc(cxt,'#fff',40,70,5,2,true);
        drawCirc(cxt,'#fff',30,80,18,1,false);
    }   
    function moveFace(){
        var cvs=$('myCanvas');
        var cxt=cvs.getContext('2d');
        cxt.clearRect(0,0,cvs.width,cvs.height);
        if(i<300){
            i=i+2;
            t=2;
        }
        else if(j>=0){
            j=j-2;
            t=-2;
        }
        else{
            i=0;
            j=300;
        }
        cxt.translate(t,0);
        drawFace(cxt);
    }

    window.onload=function(){
        var cvs=$('myCanvas');
        var cxt=cvs.getContext('2d');
        drawFace(cxt);
        setInterval(moveFace,100);

    };


</script>

这里写图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值