나는 작은 게임을 개발 중이다. 나는 플레이어가 누른 키를 감지하기 위해 다음 코드를 사용얼마나 많은 누름 키가 플래시가 감지 할 수 있습니까? as3 사용하기
private function onKeyDown(event:KeyboardEvent):void {
//moviment keys
if (event.keyCode == 37 || event.keyCode == 65) {
this.leftKeyPressed = true;
}
if (event.keyCode == 39 || event.keyCode == 68) {
this.rightKeyPressed = true;
}
if (event.keyCode == 38 || event.keyCode == 87) {
this.upKeyPressed = true;
}
if (event.keyCode == 40 || event.keyCode == 83) {
this.downKeyPressed = true;
}
if (event.keyCode == this.shootKey) {
this.shootKeyPressed = true;
}
}
onKeyUp에 이벤트 :
private function onKeyUp(event:KeyboardEvent):void {
if (event.keyCode == 37 || event.keyCode == 65) {
this.leftKeyPressed = false;
}
if (event.keyCode == 39 || event.keyCode == 68) {
this.rightKeyPressed = false;
}
if (event.keyCode == 38 || event.keyCode == 87) {
this.upKeyPressed = false;
}
if (event.keyCode == 40 || event.keyCode == 83) {
this.downKeyPressed = false;
}
if (event.keyCode == this.shootKey) {
this.shootKeyPressed = false;
}
if (event.keyCode == changeColorKey) {
trace('color key released');
trace(getTimer());
this.changeColorKeyPressed = true;
}
}
는 기본적으로 shootKey 플레이어 거의 모든 시간으로 누르고됩니다. changeColorKey는 매우 자주 눌러 지지만 누르고 있지는 않습니다. 테스트하는 동안 shootKey 및 오른쪽 화살표를 누른 상태에서 changeColorKey에 대한 onKeyUp 이벤트가 발생하지 않는다고 언급했습니다. 오른쪽 화살표 대신 위 또는 아래 화살표 키를 누르고 있으면 동일한 효과가 나타납니다. 왼쪽 화살표 키를 누르고 있으면 이벤트가 시작됩니다. 왜 그럴 수 있니? 내 코드에 문제가 있습니까?
그리고이 문제에 관한 몇 가지 기사 (키보드 해킹 방법조차도). http://www.extremetech.com/article2/02845230115100.asp http://www.extremetech.com/article2/02845165617700.asp 대개 USB로 보입니다. 키보드는 최대 6 개의 동시 키를 지원하므로 이전 키보드를 사용하면 업그레이드하는 것이 좋습니다. – LopSae