<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <title>file</title> <script src="../js/jQuery1.10.2.js"></script> <script src="../js/file.js"></script> <link rel="stylesheet" href="../css/file.css" /> <script> </script> </head> <body> <div id=a></div> <div id=b></div> </body> </html>
?
var KEY = {
UP : 38,
DOWN : 40,
LEFT : 37,
RIGHT : 39,
W : 87,
S : 83,
A : 65,
D : 68
};
var plane = {};
plane.pressedKeys = [];
plane.deg = 0;
$(function() {
// 设置interval用于每30毫秒调用一次gameloop
plane.timer = setInterval(gameloop, 20);
// 标记下pressedKeys数组里某键的状态是按下还是放开
$(document).keydown(function(e) {
plane.pressedKeys[e.which] = true;
});
$(document).keyup(function(e) {
plane.pressedKeys[e.which] = false;
});
});
function gameloop() {
move();
}
function move() {
// 方向
if (plane.pressedKeys[KEY.LEFT]) {
plane.deg-=2;
document.getElementById("a").style.transform = "rotate(" + plane.deg
+ "deg)";
}
if (plane.pressedKeys[KEY.RIGHT]) {
plane.deg+=2;
document.getElementById("a").style.transform = "rotate(" + plane.deg
+ "deg)";
}
// movement
if (plane.pressedKeys[KEY.W]) {
var top = parseInt($("#a").css("top"));
$("#a").css("top", top - 3);
}
if (plane.pressedKeys[KEY.S]) {
var top = parseInt($("#a").css("top"));
$("#a").css("top", top + 3);
}
if (plane.pressedKeys[KEY.A]) {
var left = parseInt($("#a").css("left"));
$("#a").css("left", left - 3);
}
if (plane.pressedKeys[KEY.D]) {
var left = parseInt($("#a").css("left"));
$("#a").css("left", left + 3);
}
}
?
div#a {
position: absolute;
left: 100px;
top: 400px;
width: 30px;
height: 100px;
background-color: #115599;
/*transform: rotate(90deg);
-ms-transform:rotate(90deg); /* IE 9 */
z-index: 100;
}
div#b {
position: absolute;
left: 100px;
top: 300px;
width: 50px;
height: 50px;
background-color: #669911;
}
?