canvas——动画实例

时间:2019-09-09
本文章向大家介绍canvas——动画实例,主要包括canvas——动画实例使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>canvas</title>
  <style type="text/css">
    canvas {
      border: 1px solid red;
    }
  </style>
</head>
<body>
    <canvas id="myCanvas"  width="600px" height="400px">
      您的浏览器不支持canvas
    </canvas>
    <script  type="text/javascript">
        var canvas = document.getElementById('myCanvas');
        var ctx = canvas.getContext('2d');

        var posx = 0, posy = 0, dir = 1, isMouseInRect = false;

        canvas.onmousemove = function(e){
            var mouseX = e.offsetX;
            var mouseY = e.offsetY;
            if(mouseX > posx && mouseY <posx +50 && mouseY > posy && mouseY < posy+ 50){
                isMouseInRect = true;
            }else{
                isMouseInRect = false;
            }
        }

        setInterval(function() {
            if(!isMouseInRect){
                posx += 10 * dir;
            }
            //clearRect清空画布的一个矩形区域
            ctx.clearRect(0, 0, canvas.width, canvas.height);
            ctx.fillRect(posx, posy, 50, 50);
            if(posx + 50 >= canvas.width){
                dir = -1;
            }else if(posx <= 0){
                dir = 1;
            }
        },100);

    </script>
</body>
</html>

原文地址:https://www.cnblogs.com/rickdiculous/p/11494659.html