둘러보기
전역변수 input
이 지켜봐야할 키들에 대한 현재 상태를 계속 추적하기 위해 사용되었습니다. RayCaster.html의 body 태그는 키 이벤트 onkeydown과 onkeyup에 대한 이벤트 핸들러로 press
와 release
를 할당했습니다.
소스
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