2014-05-25 2 views
0

"moveState"추적은 A 또는 D 키를 눌러도 변수가 항상 스위치의 기본 옵션에 있음을 보여줍니다.키보드 입력 전환

var keys : Array = []; 변수 키가 배열이기 때문에이이 업데이트 기능에서

private function onKeyUp(e:KeyboardEvent):void 
{ 
    keys[e.keyCode] = false; 
} 

private function onKeyDown(e:KeyboardEvent):void 
{ 
    keys[e.keyCode] = true; 
} 

,

switch (keys) 
{ 
    case Keyboard.A: 
    moveState = "LEFT"; 
    break; 
    case Keyboard.D: 
    moveState = "RIGHT"; 
    break; 
    default: 
    moveState = "STOP"; 
    break; 
} 

답변

0

는 항상 기본 값을 보여줍니다, 그래서 Keyboard.A의 값을 가질 수 없습니다.

내 제안 : keyUp 및 keyDown 함수 내에서 moveState 변수를 업데이트하고 update 함수 내에서 moveState를 사용하여 왼쪽 또는 오른쪽으로 이동하십시오.

private function onKeyUp(e:KeyboardEvent):void 
{ 
    switch(e.keyCode){ 
    case Keyboard.A: 
    moveState = "LEFT"; 
    break; 
    case Keyboard.D: 
    moveState = "RIGHT"; 
    break; 
    } 
} 

private function onKeyDown(e:KeyboardEvent):void 
{ 
    moveState = "STOP"; 
}