Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

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,