zoukankan      html  css  js  c++  java
  • 利用canvas制作乱跑的小球

    canvas制作乱跑的小球

    说明:将下面的代码放到html的body就可以,键盘控制上(W)下(S)左(A)右(D)  

    <body>
        <canvas id="canvas" style="border: 1px solid #000;display: block;margin:30px auto;"></canvas>
        <script type="text/javascript">
            var myCanvas=document.getElementById('canvas');
            myCanvas.height="500";//背景为500*500
            myCanvas.width="500";
            var ctx=myCanvas.getContext("2d");
            //键盘事件
            document.onkeydown=function(event){
                var e = event || window.event || arguments.callee.caller.arguments[0];
                var x=0,y=0;
                // 上按W
                if(e && e.keyCode==87){ 
                    ctx.clearRect(x-11,y-11,22,22);
                    y-=10;
                    ctx.translate(x,y);
                    ctx.beginPath();
                    ctx.arc(0,0,10,0,Math.PI*2);
                    ctx.fill();
                    ctx.closePath();
                    ctx.restore();
                    };
                 // 左按A
                if(e && e.keyCode==65){
                    ctx.clearRect(x-11,y-11,22,22);
                    x-=10;
                    ctx.translate(x,y);
                    ctx.beginPath();
                    ctx.arc(0,0,10,0,Math.PI*2);
                    ctx.fill();
                    ctx.closePath();
                    ctx.restore();
                   } ; 
                 // 下按S
                if(e && e.keyCode==83){
                    ctx.clearRect(x-11,y-11,22,22);
                    y=10;
                    ctx.translate(x,y);
                    ctx.beginPath();
                    ctx.arc(0,0,10,0,Math.PI*2);
                    ctx.fill();
                    ctx.closePath();
                    ctx.restore();
                }
                // 右按D
                if(e && e.keyCode==68){ 
                    ctx.clearRect(x-11,y-11,22,22);
                    x=10;
                    ctx.translate(x,y);
                    ctx.beginPath();
                    ctx.arc(0,0,10,0,Math.PI*2);
                    ctx.fill();
                    ctx.closePath();
                    ctx.restore();
                }
            }; 
        </script>
    </body>
    我若风光万人陪,一无所有还有谁?
  • 相关阅读:
    动态规划之矩阵连乘
    常见的开放符号服务器
    QT中的宏定义
    QT Creator项目路径设置
    批处理-日常小功能用法记录
    Qt Creator快捷键记录
    利用Navicat premium实现将数据从Oracle导入到MySQL
    php BCmath 封装类
    PHP 反射类
    Html标签生成类
  • 原文地址:https://www.cnblogs.com/wanghongze/p/6237780.html
Copyright © 2011-2022 走看看