html5学习-通过鼠标移动的圆球
2017-09-19 07:26
288 查看
<!DOCTYPE html>
<html>
<head>
<meta conten="text/html;charset=utf-8"/>
<title></title>
</head>
<!--当按键后去调用test()函数-->
<body onkeydown="test()">
<h1>小球上下移动</h1>
<canvas id="demo" width="400px" height="300px" style="background-color:black">
</canvas>
<script type="text/javascript">
//1.得到画布
var canvas1 = document.getElementById("demo");
//2.得到上下文
var cxt = canvas1.getContext("2d");
//3.画出红色圆球
var ballX = 30;
var ballY = 30;
drawBall();
function drawBall() {
//这里有一个非常重要的知识点.
//如果你在函数中,没有定义就直接使用变量,就意味子你使用的全局变量
//如果你在函数中,定义了 才使用改变量,说明你使用的局部变量
//画出红色圆球
//我们画出圆时,要把路径闭合,否则会出现诡异现象
cxt.beginPath();
cxt.fillStyle = "#FF0000";
cxt.arc(ballX, ballY, 10, -30, 360, true);
cxt.closePath();
cxt.fill();
}
//3.现在我按w-d-s-a可以让小球移动w:上d:右s:下a:左
//当我们按下一个键时,实际上触发了一个事件onkeydown
function test() {
//我怎么知道玩家按下的是什么键
//说明当按下键后,事件--》会产生一个event对象--》会自动传递个时间处理函数
var code = event.keyCode;
switch (code) {
case 87:
//alert("上");
if (ballY>10)
ballY--;
break;
case 68:
//alert("右");
if (ballX<400-10)
ballX++;
break;
case 83:
//alert("下");
if (ballY<300-10)
ballY++;
break;
case 65:
//alert("左");
if (ballX>10)
ballX--;
break;
}
cxt.clearRect(0,0,400,300);//清屏
drawBall();
}
</script>
</body>
</html>
<html>
<head>
<meta conten="text/html;charset=utf-8"/>
<title></title>
</head>
<!--当按键后去调用test()函数-->
<body onkeydown="test()">
<h1>小球上下移动</h1>
<canvas id="demo" width="400px" height="300px" style="background-color:black">
</canvas>
<script type="text/javascript">
//1.得到画布
var canvas1 = document.getElementById("demo");
//2.得到上下文
var cxt = canvas1.getContext("2d");
//3.画出红色圆球
var ballX = 30;
var ballY = 30;
drawBall();
function drawBall() {
//这里有一个非常重要的知识点.
//如果你在函数中,没有定义就直接使用变量,就意味子你使用的全局变量
//如果你在函数中,定义了 才使用改变量,说明你使用的局部变量
//画出红色圆球
//我们画出圆时,要把路径闭合,否则会出现诡异现象
cxt.beginPath();
cxt.fillStyle = "#FF0000";
cxt.arc(ballX, ballY, 10, -30, 360, true);
cxt.closePath();
cxt.fill();
}
//3.现在我按w-d-s-a可以让小球移动w:上d:右s:下a:左
//当我们按下一个键时,实际上触发了一个事件onkeydown
function test() {
//我怎么知道玩家按下的是什么键
//说明当按下键后,事件--》会产生一个event对象--》会自动传递个时间处理函数
var code = event.keyCode;
switch (code) {
case 87:
//alert("上");
if (ballY>10)
ballY--;
break;
case 68:
//alert("右");
if (ballX<400-10)
ballX++;
break;
case 83:
//alert("下");
if (ballY<300-10)
ballY++;
break;
case 65:
//alert("左");
if (ballX>10)
ballX--;
break;
}
cxt.clearRect(0,0,400,300);//清屏
drawBall();
}
</script>
</body>
</html>
相关文章推荐
- OSG学习笔记16 - 对点选物体平移(鼠标点选物体)(物体随鼠标移动)(屏幕坐标转世界坐标)
- 通过QTP录制移动鼠标行为
- 通过鼠标的移动来实现层的隐藏与显示
- Unity学习笔记——鼠标移动到物品上显示物品名字,点击后显示物品信息
- MFC 学习之 鼠标移动到Toolbar按钮上显示提示信息(tooltip),状态栏也随之改变
- HTML5----移动鼠标:青蛙,蝴蝶,草丛,池塘滑动-jparallax
- C#中通过设置钩子监视鼠标移动
- cocos2d-x 输入框升级版 通过鼠标点击事件和键盘左右键移动光标
- 学习“HTML5 移动webapp阅读器”心得
- 通过 css3 实现鼠标划过图片移动
- c#中通过设置钩子监视鼠标移动
- 【笔记】《WebGL编程指南》学习-第2章WebGL入门(5-通过鼠标点击画点)
- HTML学习笔记——如何让图片随鼠标移动
- HTML5 移动应用开发 学习地址
- 通过Cocos2d-html5库自带的../samples/tests文件来学习Cocos2d-html5游戏引擎
- HTML5 精灵8方向移动+背景滚动+音效播放+鼠标事件响应
- 发布这几天学习Hook搞出来的一个挺好玩的统计鼠标移动距离和键盘敲击次数的小程序
- 【实例】html5-canvas通过鼠标绘制线段
- 1. 通过移动鼠标旋转摄像机观察模型
- HTML5移动Web开发(七)——通过界面图标启动Web应用