html5学习-通过鼠标移动的圆球
来源:互联网 发布:react setstate 数组 编辑:程序博客网 时间:2024/04/20 10:55
<!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>
阅读全文
0 0
- html5学习-通过鼠标移动的圆球
- 通过鼠标的移动让图片移动
- 自定义view实现随手移动的圆球
- HTML5动画和鼠标移动
- HTML5 Canvas 获得鼠标的移动的坐标
- C#学习 简单的鼠标 移动
- 如何通过鼠标移动图形
- Qt 通过鼠标移动窗口
- Qt之去除窗口的标题栏、通过鼠标移动窗口
- 怎么通过鼠标移动事件得到当前鼠标划过的单元格。
- 怎么通过鼠标移动事件得到当前鼠标划过的单元格。
- 【实例】html5-canvas通过鼠标绘制线段
- 限制鼠标的移动
- 捕捉鼠标的移动
- 虚拟机的鼠标移动
- 通过QTP录制移动鼠标行为
- C#Winform通过鼠标拖拽来移动图片
- 物体移动--通过改变transform--鼠标控制
- 前端进阶,从Foundation UI框架开始
- 微信开发源代码详细分析-微信开发教程6
- 算法学习之分治--归并排序
- Hive写SQL语句
- linux vi命令
- html5学习-通过鼠标移动的圆球
- 移动端web屏幕适配方案整理
- 算法学习之分治--快速排序
- 过拟合、多层感知机、GPU和卷积神经网络
- 学习笔记:Python操作Redis
- LitePal源码解析——框架结构及关键类说明
- hive_day4笔记
- 顺序表应用1:多余元素删除之移位算法
- 003 数列的极限性质之有界性、保号性