JavaScript-用键盘控制动画
来源:互联网 发布:放置类挂机游戏源码 编辑:程序博客网 时间:2024/06/07 05:31
(一)添加keydown事件
<html> <head> <title>Keyboard input</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"> </head> <body> <canvas id="canvas" width="400" height="400"></canvas> <script src="https://code.jquery.com/jquery-2.1.0.js"></script> <script> //创建一个keyNames对象 var keyNames = { 32 : "space", 37 : "left", 38 : "up", 39 : "right", 40 : "down" }; //添加响应按键事件 $("body").keydown(function(event){ //在控制台打印答案 console.log(keyNames[event.keyCode]); }); </script> </body></html>
(二)用键盘移动一个球
<html> <head> <title>Keyboard input</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"> </head> <body> <canvas id="canvas" width="400" height="400"></canvas> <script src="https://code.jquery.com/jquery-2.1.0.js"></script> <script> var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); var width = canvas.width; var height = canvas.height; var circle = function(x,y,radius,fillCircle){ ctx.beginPath(); ctx.arc(x,y,radius,0,Math.PI*2,false); if(fillCircle){ ctx.fill(); } else { ctx.stroke(); } }; //创建Ball的构造方法 var Ball = function(){ this.x = width/2; this.y = height/2; this.xSpeed = 5; this.ySpeed = 0; }; //定义移动函数 Ball.prototype.move = function(){ this.x += this.xSpeed; this.y += this.ySpeed; //移动到边界时从另外一边出来 if(this.x<0){ this.x = width; }else if(this.x>width){ this.x = 0; }else if(this.y<0){ this.y = height; }else if(this.y>height){ this.y = 0; } }; //定义draw方法 Ball.prototype.draw = function(){ circle(this.x,this.y,10,true); }; //创建setDirection方法 Ball.prototype.setDirection = function(direction){ if(direction === "up"){ this.xSpeed = 0; this.ySpeed = -5; }else if(direction === "down"){ this.xSpeed =0; this.ySpeed = 5; }else if(direction === "left"){ this.xSpeed = -5; this.ySpeed = 0; }else if(direction === "right"){ this.xSpeed = 5; this.ySpeed = 0; }else if(direction === "stop"){ this.xSpeed = 0; this.ySpeed = 0; } }; //创建一个Ball对象 var ball = new Ball(); //创建一个keyNames对象 var keyNames = { 32 : "stop", 37 : "left", 38 : "up", 39 : "right", 40 : "down" }; //添加响应按键事件 $("body").keydown(function(event){ var direction = keyNames[event.keyCode]; ball.setDirection(direction); }); //实现球的动画 setInterval(function(){ ctx.clearRect(0,0,width,height); ball.draw(); ball.move(); ctx.strokeRect(0,0,width,height); },30); </script> </body></html>
0 0
- JavaScript-用键盘控制动画
- JavaScript for Kids 学习笔记14: 用键盘控制动画
- 关于用键盘控制动画
- 用JavaScript控制自动唤起输入法键盘
- javascript 控制左右键盘
- javascript控制flash动画
- javascript的键盘控制事件
- javascript的键盘控制事件
- javascript的键盘控制事件
- JavaScript--获取键盘控制事件
- JavaScript——用键盘wasd控制div移动
- 用键盘控制电脑
- 用键盘控制鼠标
- javascript键盘控制操作,送给美女的
- JavaScript键盘事件全面控制详解
- javascript keyCode总结,控制键盘的输入
- Javascript键盘事件及输入控制
- JAVASCRIPT 控制动画的暂停与播放
- Android RxJava操作符一览
- 错乱
- 零基础使用xampp与WordPress在本地开发一个简单的网站(OS X Yosemite 10.10.5)
- sourcetree 遇到的问题总结
- const 和 #define区别
- JavaScript-用键盘控制动画
- Android开源项目第三篇——优秀项目篇
- k-means聚类算法
- 欢迎使用CSDN-markdown编辑器
- Largest Rectangle in Histogram 直方图中最大的矩形
- c++中的抽象类
- 开启FTP客户端(编程)
- [jvm解析系列][八]方法表集合,Code属性和Exceptions属性,你的字节码存在哪里了?
- 柴俊理金:美指企稳转危为安,黄金反弹原油走软