jquery+html5 3--鼠标和键盘控制

本文介绍如何使用HTML5 Canvas结合鼠标与键盘事件来控制绘图,包括两个方块的绘制:一个根据鼠标位置移动,另一个依据键盘方向键移动。通过此教程,读者将学会如何监听mousemove和keydown事件,并在Canvas上实时更新图形。

这里例子主要有以下几点

1.if语句

2.新的事件mousemove,keydown,以及e参数

3.2个不同的物体显示在canva里,多个也是这个道理。

4.用id标签选择器直接选择一个页面元素是可行的,似乎不能放在head部分。放body后面就可以。

5.mousemove和keydown事件处理了内部的变量,animate函数把这些内部变量的改变显示出来。

6.大家可以试下多人游戏,每个人控制一个方块。

<!DOCTYPE html>
<html>
<head>
    <title>鼠标和键盘控制</title>
    <script type="text/javascript" src="jquery-1.6.1.js"></script>
  <script type="text/javascript">
      var x = 250;
      var mousex, mousey;
      var canvas;
      var ctx;
     
     
      $(document).ready(function () {
           canvas = $(document).get(0).getElementById("MyCanvas");
         
          if (canvas.getContext) {
              ctx = canvas.getContext("2d");
             
              //animate();
             

              }
      });
      function animate()
      {
          //x = x + 1;
          ctx.clearRect(0, 0, 500, 500);
          //由键盘控制的方块
          ctx.fillRect(x, 250, 50, 50);
         
         // 随鼠标运动的方块
          ctx.fillRect(mousex, mousey, 50, 50);
          //setTimeout(animate, 100);
      };
</script>
</head>
<body  >
      <div>
        <canvas id="MyCanvas" width="500" height="500" > </canvas>
      </div>
  
  </body>
     <script type="text/javascript">
         $('#MyCanvas').mousemove(function (e) {
             mousex = e.pageX;
             mousey = e.pageY;
             animate();
         });
         //注意这里是document,canvas应该也能捕获keydown事件,留以后试吧
         $(document).keydown(function (e) {
             var k = e.keyCode;
             //如果不知道按键的代码,用alert输出看
            // alert(k);
             if (k == 37)
                 x = x - 2;
             if (k == 39)
                 x = x + 2;
             animate();
     });
    </script>
</html>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值