開発環境 |
メモ帳 |
実行環境 |
Internet Explorer 11 |
参考
keyboard.html
<!doctype html>
<head>
<meta charset="UTF-8">
<title>keyboard</title>
</head>
<body>
<div id="output"></div>
<script>
function Keyboard() {
var _keys; // キー状態配列
function KeyDownFunc(e) {
_keys[e.keyCode] = true;
}
function KeyUpFunc(e) {
_keys[e.keyCode] = false;
}
function BlurFunc(e) {
_keys.length = 0;
}
this.IsKeyDown = function(keyCode) {
if (_keys[keyCode]) return true;
return false;
};
this.Release = function() {
document.removeEventListener("keydown", KeyDownFunc);
document.removeEventListener("keyup", KeyUpFunc);
window.removeEventListener("blur", BlurFunc);
};
(function(){
_keys = [];
document.addEventListener("keydown", KeyDownFunc);
document.addEventListener("keyup", KeyUpFunc);
window.addEventListener("blur", BlurFunc);
})();
}
var keyboard = new Keyboard();
var sec_sav = -1;
var fps_count = 0;
var fps;
var pos_x = 0;
var pos_y = 0;
var pos_z = 0;
setInterval(function() {
if (keyboard.IsKeyDown(87)) pos_y += 1; // W
if (keyboard.IsKeyDown(83)) pos_y -= 1; // S
if (keyboard.IsKeyDown(65)) pos_x -= 1; // A
if (keyboard.IsKeyDown(68)) pos_x += 1; // D
if (keyboard.IsKeyDown(33)) pos_z += 1; // PageUp
if (keyboard.IsKeyDown(34)) pos_z -= 1; // PageDown
var sec = (new Date()).getSeconds();
if (sec_sav != sec) {
sec_sav = sec;
fps = fps_count;
fps_count = 0;
}
fps_count++;
output.innerHTML = "x=" + pos_x + " y=" + pos_y + " z=" + pos_z + " fps=" + fps;
}, 1000 / 30);
</script>
</body>
最終更新:2015年05月19日 20:24