绘制圆形探照灯

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>绘制探照灯</title>
</head>
<body>
    <canvas id="canvas" style="border:1px solid red"></canvas>
    <script >
        var canvas=document.getElementById('canvas');
        // 设置宽和高
        canvas.width=800;
        canvas.height=800;
        // 获取绘制的上下文
        var context=canvas.getContext('2d');
        var vx=5;
        var vy=10;
        var sx=400;
        var sy=400;
        // 设置圆的运行速度和圆心的位置
        function timer(context,sx,sy){
            context.clearRect(0,0,800,800);// 清空画布
            context.save();// 保存
            context.beginPath();// 设置开始位置
            context.fillStyle='black';//设置黑色的背景
            context.fillRect(0,0,800,800);

            context.beginPath();//设置圆形运动的区域,并限制其区域
            context.fillStyle='#fff';//设置圆形区域的颜色为白色
            context.arc(sx,sy,100,0,Math.PI*2);//设置圆的大小
            context.fill();//填充
            context.clip();//设置圆的运动路径边界

            context.font="bold 80px Arial";
            context.textAlign="center";//文本横向对齐在正中间
            context.fillStyle="red";//设置文字的填充颜色
            context.fillText("我是最可爱的人",400,100);
            context.fillText("我是一只小鸟",400,300);
            context.fillText("我是最可爱的人",400,500);
            context.fillText("我是最可爱的人",400,700);
            context.restore();//恢复到save的状态
        }
        setInterval(function(){
            if (sx>=700) {
                vx=-vx;
            }
            if (sx<=100) {
                vx=-vx;
            }
            if (sy>=700) {
                vy=-vy;
            }
            if (sy<=100) {
                vy=-vy;
            }
            sx+=vx;
        sy+=vy;
        timer(context,sx,sy);
        },200);
        
    </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值