参考:

1、Simple Canvas Game

2、javaScript 事件监听

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>moveBall</title>
</head>
<body>
<script>
// a test
// addEventListener("keydown", function (e) {
// console.log(e);
// }, false);
var screenWidth = document.documentElement.clientWidth;
var screenHeight = document.documentElement.clientHeight; var ball = document.createElement("div"); ball.style.width = 124 + "px";
ball.style.height = 124 + "px"; ball.style.backgroundColor = "coral";
ball.style.borderRadius = "50%"; var X = Math.random()*screenWidth;
var Y = Math.random()*screenHeight;
ball.style.position = "absolute";
ball.style.left = X + "px";
ball.style.top = Y + "px"; document.body.appendChild(ball); function repaint() {
ball.style.left = X + "px";
ball.style.top = Y + "px";
} function moveUp() {
Y--;
repaint();
} function moveDown() {
Y++;
repaint();
} function moveLeft() {
X--;
repaint();
} function moveRight() {
X++;
repaint();
} addEventListener("keydown", function (e) {
if (e.key == "ArrowUp") {
moveUp();
}
if (e.key == "ArrowDown") {
moveDown();
}
if (e.key == "ArrowLeft") {
moveLeft();
}
if (e.key == "ArrowRight") {
moveRight();
}
}, false);
</script>
</body>
</html>

【JavaScript】键盘控制小球的更多相关文章

  1. 【 java版坦克大战--事件处理】 键盘控制小球上下左右移动

    上一节已经学习了事件处理,这一节需要完成通过键盘的上下左右键控制小球移动. 然后再通过应用到我们绘制的坦克上. /** * 加深对事件处理机制的理解 * 通过光标的上下左右键,控制小球的左右上下移动. ...

  2. Java--用键盘控制小球

    package secondpack; import java.awt.*; import java.awt.event.*; public class MyBall { public static ...

  3. html5 javascript 事件练习3键盘控制练习

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  4. javascript键盘输入控制

    获取键盘控制事件 document.onkeydown = keyDown 当浏览器读到这个语句时,无论按下键盘上的哪个键,都将呼叫KeyDown()函数. 不同浏览器的实现: Netscape Ne ...

  5. JavaScript键盘事件全面控制代码

    JavaScript键盘事件全面控制,它可以捕获键盘事件的输入状态,可以判断你敲打了键盘的那个键,ctrl.shift,26个字母等等,返回具体键盘值. <html> <head&g ...

  6. js键盘控制div移动,解决停顿问题

    问题版本代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <html> &l ...

  7. JS实现用键盘控制DIV上下左右+放大缩小与变色

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 键盘控制div移动并且解决停顿问题(原生js)

    <html> <head> <title>键盘控制div移动,解决停顿问题</title> <meta charset="utf-8&q ...

  9. 键盘控制背景边框平滑移动(jquery)

    今天同事让我看了一个动画效果,是由键盘控制背景边框平滑移动,我感觉挺cool,所以我自己也动手制作了一个.目的是为了锻炼自己,看自己是否也能在短时间内实现. 先上图: 一.html代码 <!DO ...

随机推荐

  1. 【BZOJ】3396: [Usaco2009 Jan]Total flow 水流 (最大流)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3396 裸的最大流跑过.. #include <cstdio> #include < ...

  2. javaScript 的小技巧

    20160314知识点的补充:a-1:最原始的操作要比函数调用快 <script type="text/javascript"> var min = Math.min( ...

  3. EntityFramework :数据库创建

    控制数据库的位置 默认情况下,数据库是创建在localhost\SQLEXPRESS服务器上,并且默认的数据库名为命名空间+context类名,例如我们前面的BreakAway.BreakAwayCo ...

  4. java-通过 HashMap、HashSet 的源码分析其 Hash 存储机制

    通过 HashMap.HashSet 的源码分析其 Hash 存储机制 集合和引用 就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并非真正的把 Java 对象放入数组中.仅仅是把对象的 ...

  5. asp.net 上传XML,txt 直接读取文件内容

    if (GetUploadFileContent.PostedFile.InputStream.Length < 1) { Msg.Text = "请选择文件"; retur ...

  6. iOS企业开发In House ipa发布流程

    这两天需要发布一个ipa放到网上供其他人安装,需要用到企业级开发者账号.在网上查了一下资料,感觉没有一个比较完善的流程,于是决定把整个流程写下来,供大家参考. 首先详细说明一下我们的目标,我们需要发布 ...

  7. Leetcode-Recover BST

    Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...

  8. Python菜鸟之路:Django 序列化数据

    类型一:对于表单数据进行序列化 这时需要用到ErrorDict. ret['errors'] = obj.errors.as_data() result = json.dumps(ret, cls=J ...

  9. IO 之 File 类

    位于 java.io 包 用来将文件或者文件夹封装成对象 方便对文件和文件夹的属性信息进行操作 File 对象可以作为参数传递给流的构造函数 构造函数 // 可以将一个已存在的, 或者不存在的文件或者 ...

  10. python多线程的两种写法

    1.一般多线程 import threading def func(arg): # 获取当前执行该函数的线程的对象 t = threading.current_thread() # 根据当前线程对象获 ...