input.js

둘러보기

전역변수 input이 지켜봐야할 키들에 대한 현재 상태를 계속 추적하기 위해 사용되었습니다. RayCaster.html의 body 태그는 키 이벤트 onkeydownonkeyup에 대한 이벤트 핸들러로 pressrelease를 할당했습니다.

소스

var KEY = { D: 68, W: 87, A: 65, S:83, RIGHT:39, UP:38, LEFT:37, DOWN:40, Q:81 };
var input = {
	right: false,
	up: false,
	left: false,
	down: false,
	quit: false
};

function press(evt) {
	var code = evt.keyCode;
	switch(code) {
		case KEY.RIGHT:
		case KEY.D: input.right = true; break;
		
		case KEY.UP:
		case KEY.W: input.up = true; break;
		
		case KEY.LEFT:
		case KEY.A: input.left = true; break;
		
		case KEY.DOWN: 
		case KEY.S: input.down = true; break;
		
		case KEY.Q: input.quit = true; break;
	}
}

function release(evt) {
	var code = evt.keyCode;
	switch(code) {
		case KEY.RIGHT:
		case KEY.D: input.right = false; break;
		
		case KEY.UP:
		case KEY.W: input.up = false; break;
		
		case KEY.LEFT:
		case KEY.A: input.left = false; break;
		
		case KEY.DOWN:
		case KEY.S: input.down = false; break;
		
		case KEY.Q: break;
		
		default: trace('unrecognized key code: ' +code); break;
	}
}


A Basic RayCaster
input.js | Level.js | Player.js | RayCaster.html | RayCaster.js | trace.css | trace.js

문서 태그 및 공헌자

 이 페이지의 공헌자: taggon
 최종 변경: taggon,