美文网首页canvas
canvas 呱呱乐

canvas 呱呱乐

作者: 谢炳南 | 来源:发表于2022-09-01 13:50 被阅读0次

效果图

微信截图_20220901134945.png
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>呱呱乐</title>
        <style>
            body {
                margin: 0;
            }
            .result {
                width: 400px;
                height: 200px;
                text-align: center;
                line-height: 200px;
                font-size: 40px;
                font-weight: bold;
                display: none;
            }
            #canvas {
                position: absolute;
                left: 0;
                top: 0;
            }
        </style>
    </head>
    <body>
        <div class="result">一等奖</div>
        <canvas id="canvas" width="400" height="200"></canvas>
    </body>
</html>
<script>
    let canvas = document.getElementById('canvas');
    let width = canvas.width;
    let height = canvas.height;
    let ctx = canvas.getContext('2d');
    ctx.fillStyle = '#ccc';
    ctx.rect(0, 0, width, height);
    ctx.fill();
    
    let mouseDown = false;
    let clearW = 10;
    let clearH = 10;
    let lastX = 0;
    let lastY = 0;
    canvas.addEventListener('mousedown', function(e) {
        mouseDown = true;
        lastX = e.clientX;
        lastY = e.clientY;
    });
    canvas.addEventListener('mousemove', function(e) {
        if (!mouseDown) {
            return;
        }
        let difX = Math.abs(lastX - e.clientX);
        let difY = Math.abs(lastY - e.clientY);
        let count = Math.max(difX, difY);
        // 避免滑动距离过大,中间出现空白
        for (let i = 0; i <= count;i++) {
            let x = lastX + Math.floor((e.clientX - lastX)/count*i);
            let y = lastY + Math.floor((e.clientY - lastY)/count*i);
            ctx.clearRect(x - clearW/2, y - clearH/2, clearW, clearH);
        }
        lastX = e.clientX;
        lastY = e.clientY;
    });
    canvas.addEventListener('mouseup', function() {
        mouseDown = false;
    });
    
    document.querySelector('.result').style = "display: block";
</script>

相关文章

  • canvas 呱呱乐

    效果图

  • 呱呱,呱呱呱呱呱呱呱呱呱呱,呱呱呱呱

    呱呱 | 呱呱呱呱,呱呱呱呱呱呱呱呱呱呱 呱星大数据 | 数据解析,我蛙星人如何在两周内占领地球 (以下为人类语言...

  • 呱呱呱呱呱呱

    猜猜哪部动画片

  • 呱呱呱呱呱

    最近西院的修勾搬出来住了 (说人话) 狗子挣脱小铁链溜出来了 …… 大清早出门买早点,它紧跟我车后面 追尾事故和我...

  • canvas 刮刮乐

    今天我们来模拟刮刮乐效果 既然是使用Canvas来完成刮刮乐的效果,那么我们先来创建一个Canvas标签,并给它赋...

  • 呱呱呱

    夏至时分,湿热的天气叫人心烦意乱。 公主来到清凉的水潭边,手里捧着一只圆滚滚金灿灿的球。 青蛙:“呱呱呱,公主的球...

  • 呱呱呱

    温水煮蛤蟆。 蛤蟆很委屈,“为什么要煮我?” “那你可以找个和你一样又蠢又美味的来代替你啊!” 蛤蟆卒。

  • 呱呱呱

    猜一下,什么在叫? 青蛙,用图形画成的青蛙,简单又漂亮。

  • 呱呱呱

    “你听见了吗,小青蛙呱呱呱~”我大声嚷嚷道。“如果有一天我消失了……”男友回道“如果你的声音消失了,一定是被青蛙声...

  • 呱呱呱

    今天七夕可能对于单身的朋友来说没什么特别的,朋友圈秀恩爱的,空间秀恩爱的。 自己该干嘛还得干嘛。 今天朋友花了3r...

网友评论

    本文标题:canvas 呱呱乐

    本文链接:https://www.haomeiwen.com/subject/mkcsnrtx.html