HTML5入门

html5 实现动画(一)

字号+ 作者: 来源: 2014-11-16 20:49 我要评论( )

XML/HTML Code 复制内容到剪贴板 canvas id = canvas1 width = 250 height = 300 style = background-color:black 你的浏览器不支持Canvas标签,请使用Chrome浏览器或者FireFox浏览器 / canvas br / 帧数: input id = txt1

XML/HTML Code复制内容到剪贴板
  1.  <canvas id="canvas1" width="250" height="300" style="background-color:black">   
  2.     你的浏览器不支持 Canvas 标签,请使用 Chrome 浏览器 或者 FireFox 浏览器   
  3. </canvas><br/>   
  4. 帧数:<input  id="txt1" type="text" value="25"/><br/>   
  5. 每次移动距离:<input type="text" id="txt2" value="10"/><br/>   
  6. <input type="button" value="开始" onclick="move_box()"/>   
  7. <input type="button" value="暂停" onclick="stop()"/>   
  8. <script type="text/javascript">   
  9.     //定时器   
  10.     var interval=null;   
  11.     //停止动画   
  12.     function stop(){   
  13.         clearInterval(interval);   
  14.     }   
  15.     //===================================================================   
  16.     //基本动画   
  17.     //====================================================================   
  18.     function move_box(){   
  19.         //停止动画   
  20.         stop();   
  21.         //移动速度   
  22.         var delta=parseInt(document.getElementById('txt1').value);   
  23.         //每秒绘制多少次   
  24.         var fps=parseInt(document.getElementById('txt2').value);   
  25.         //画布对象   
  26.         var canvas=document.getElementById("canvas1")   
  27.         //获取上下文对象   
  28.         var ctx = canvas.getContext("2d");   
  29.         //设置颜色   
  30.         ctx.fillStyle="red";   
  31.         //方块的初始位置   
  32.         var x=100;var y=50;   
  33.         //方块的长度和宽度   
  34.         var w=30;var h=30;   
  35.         //开始动画   
  36.         interval = setInterval(function(){   
  37.             //改变 y 坐标   
  38.             yy=y+delta;   
  39.             //上边缘检测   
  40.             if(y<0){   
  41.                 y=0;   
  42.                 delta=-delta;   
  43.             }   
  44.             //下边缘检测   
  45.             if((y+h)>canvas.getAttribute("height")){   
  46.                 y=canvas.getAttribute("height")-h;   
  47.                 delta=-delta;   
  48.             }   
  49.             //清空画布   
  50.             ctx.clearRect(0,0,canvas.getAttribute("width"),canvas.getAttribute("height"));   
  51.             //保存状态   
  52.             ctx.save();   
  53.             //移动坐标   
  54.             ctx.translate(x,y);   
  55.             //重新绘制   
  56.             ctx.fillRect(0,0,w,h);   
  57.             //恢复状态   
  58.             ctx.restore();   
  59.         },1000/fps);   
  60.     }   
  61. </script>   

 

源码下载:donghua1.rar

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 超级绚丽的html5的页面

    超级绚丽的html5的页面

    2014-11-16 20:49

  • HTML5基础,第4部分:点睛之笔Canvas

    HTML5基础,第4部分:点睛之笔Canvas

    2014-11-16 20:49

  • HTML5基础,第3部分:HTML5 API的威力

    HTML5基础,第3部分:HTML5 API的威力

    2014-11-16 20:49

  • HTML5基础,第2部分:组织页面的输入

    HTML5基础,第2部分:组织页面的输入

    2014-11-16 20:49

网友点评