参考:

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. JavaScript------如何查看var变量是否是指定类型

    function isArray(a) { //Date,Array,String,Object,Function,Boolean,Number return a.constructor.toStri ...

  2. uWSGI配置(转 )

    原文地址:http://www.cnblogs.com/zhouej/archive/2012/03/25/2379646.html 下面的内容包含了大部分uWSGI的配置选项,这些配置选项的列举没有 ...

  3. c语言加密算法头文件下载(base64、md5、sha1)

    1.base64 网上有一份开头就是 // Encoding lookup table char base64encode_lut[] = {  的base64.h, 在loadrunner中加密有b ...

  4. 报错 findMergedAnnotation activemq

    springmvc 集成activemq引入activemq-all-5.14.4有冲突 springmvc 4.2.9集成activemq-5.14.4时报错,错误信息如下 NoSuchMethod ...

  5. mysql死锁-非主键索引更新引起的死锁

    背景:最近线上经常抛出mysql的一个Deadlock,细细查来,长了知识! 分析:错误日志如下: 21:02:02.563 ERROR dao.CommonDao        [pool-15-t ...

  6. 160728、Spark Streaming kafka 实现数据零丢失的几种方式

    定义 问题开始之前先解释下流处理中的一些概念: At most once - 每条数据最多被处理一次(0次或1次) At least once - 每条数据最少被处理一次 (1次或更多) Exactl ...

  7. python之MySQL学习——数据查询

    import pymysql as ps # 打开数据库连接 db = ps.connect(host='localhost', user='root', password='123456', dat ...

  8. pip安装Scrapy框架报错

    安装: pip3 install scrapy==1.1.0rc3 一..解决scrapy安装错误: 二.具体操作: 1.在http://landinghub.visualstudio.com/vis ...

  9. Android 短信箱操作

    package blackice.android.product; import java.sql.Date; import java.text.SimpleDateFormat; import ja ...

  10. z waiting to receive.**B0100000023be50

    [root@b ~]# rz▒z waiting to receive.**B0100000023be50