zoukankan      html  css  js  c++  java
  • js+canvas(H5)实现小球移动小demo

    *canvas提供画布,大小自定义,js得到画布,从画布对象通过getContext('2d')来得到画笔,然后就可以开始画了

    代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>MoveDemo</title>
        <script type="text/javascript">
                 //注意,此句必须放在方法外边作为全局变量,如果放在方法内部,就会犯下和我一样的错误,导致小球始终无法移动,找了好久都没找到问题。
                 var dir=0;
    //词句也需要放到外边,否则会出现方向无法改变的窘况。
           var exp = 3; function test(){ //该句需要放到方法里边,因为要实时刷新得到画布 var d=document.getElementById("cans").getContext("2d");; var width=500; var height=300; //实时刷新当前时间,由于是测试,没有调整格式 document.getElementById("res").innerHTML=new Date(); //清空画布方法clearRect() d.clearRect(0,0,width,height) //指定画笔颜色 d.fillStyle="red"; //画线条,图形等之前的通用方法,告诉浏览器要开始了。 d.beginPath(); //画圆弧,指定了2pi代表画圆 d.arc(50,dir,30,0,Math.PI*2,true); //闭合路径 d.closePath(); //刷新画布 d.fill(); //朝着y正方向移动 dir += exp; //碰到边界改变方向 if( dir==0||dir==height) exp=-exp; } var tt; function b(){ //setinterval(func,mills)方法提供了y移动的主要支持 tt=setInterval("test()",100); } function c(){ //清空setinterval()指定的时时刷新 clearInterval(tt); } </script> </head> <body > <canvas id="cans" width="500px" height="300px" style="border:1px solid red;">浏览器不支持canvas</canvas> <div id="res"></div> <button id="bt1" onclick="b()">begin</button> <button id="bt2" onclick="c()">stop</button></button> </body> </html>

      

  • 相关阅读:
    Go语言v1.8正式发布,有显著的性能提升和变化(go适合服务器编程、网络编程)
    NET生成二维码
    组合模式
    Spring MVC
    前端事件
    Play Framework + ReactiveMongo
    DDD领域驱动设计初探
    jsRender模板引擎
    C#分布式缓存Couchbase
    ABP
  • 原文地址:https://www.cnblogs.com/g177w/p/8359036.html
Copyright © 2011-2022 走看看