欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

html5 Canvas 图像动画的实现

程序员文章站 2022-03-17 16:38:24
...
<span style="font-size:18px;"><!DOCTYPE html>
<head>
    <meta charset=utf-8>
    <title>PHP100 HTML5视频教程-canvas-吹气球效果</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
    <canvas id="php100" width="500" height="200" ></canvas>
    <br>  <!-- 画布 -->
    <script type="text/javascript">
       var canvas = document.getElementById('php100'); //获取画布
       var p100=canvas.getContext("2d");  //设置模式
       var dir=0;       //设置线条起点
       var width=500;   //要清除的矩形的宽度
       var height=200;  //要清除的矩形的高度
       var exp=1; //像素移动的位置,正数向下,负数向上
       p100.strokeStyle = "rgba(255,0,0,1)"; //定义颜色
 function fff(){
    p100.clearRect(0,0,width,height); //清除原始图形 0 0  表示矩形的左上角的X Y轴坐标
    p100.fillStyle="red";//定义颜色
     p100.beginPath();//从新开始画,防止冲突重叠
     p100.arc(180,dir,dir,0,Math.PI*2,1); //x坐标,y坐标,半径,Math.PI是圆周率  半径也设置成圆点的位置就实现吹气球的效果
     p100.closePath();//结束画布,防止冲突重叠
     p100.fill();//结束渲染
     dir=dir+exp;   //向下移动
 if(dir==0 || dir==height){
   exp=exp*-1; //掉头位置//乘以负一用来调整线路方向
  }
}
//setInterval(code,millisec) 按照指定的周期来调用函数,返回值为定时器的ID值 赋值给一个变量
//clearInterval(idofsetInterval)取消由setInterval()方法设置的定时器。
</script>
<button onclick="tt=setInterval(fff,20);">开始</button>
<button onclick="clearInterval(tt);">停止</button>
</body>
</html>
</span>