開発環境 メモ帳
実行環境 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