继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

canvas 制作简单版本刮刮乐 刮出你的幸福

痕迹3230776
关注TA
已关注
手记 7
粉丝 10
获赞 408
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>刮刮乐</title>
        <style type="text/css">
            *{
                padding: 0;
                margin: 0;
            }
            img{
                width: 600px;
            }
            #canvas{
                position: absolute;
                left: 0;
                top: 0;
                border: 1px solid cornflowerblue;
                box-shadow: 10px 10px 10px gray;
            }
        </style>
    </head>
    <body>
        <img src="img/1.jpg"/>
        <canvas id="canvas" width="600" height="373"></canvas>
    </body>
    <script type="text/javascript">
        var canvas=document.getElementById('canvas');
        var a=canvas.getContext('2d');
        //绘制蒙层
        a.fillStyle='gray';
        a.fillRect(0,0,canvas.width,canvas.height);
        //开刮
        canvas.onmousedown=function  () {
            //鼠标点下并且移动才会有刮得效果
            canvas.onmousemove=function  (e) {
                var event=ewindow.event;
                //获取鼠标位置
                var x=event.clientX-canvas.offsetLeft;
                var y=event.clientY-canvas.offsetTop;
                //设置图形组合方案
                a.globalCompositeOperation='destination-out';
//              a.clearRect(x-25,y-25,50,50);
                //设置橡皮擦的形状
                a.beginPath();
                a.arc(x,y,25,0,Math.PI*2,false);
                a.fillStyle='rgba(0,0,0,1)';
                a.fill();
            }
        }
        //当鼠标松开的时候停止清除
        window.onmouseup=function  () {
            canvas.onmousemove=null;
//          canvas.onmousemove='none';
        }

    </script>
</html>
打开App,阅读手记
18人推荐
发表评论
随时随地看视频慕课网APP

热门评论

如果滑动速度很快的时候,会出现单独的圆圈,请问有什么好的改善方法吗?

http://img.mukewang.com/57fb65c90001cccc05890396.jpg

幸好看了一下评论,果然效果一下就出来了,好厉害!!!

var event =ewindow.event;

这句报错求解

查看全部评论