2014-04-10 4 views
0

그래서 캐릭터 이동을 위해 사용자로부터 키보드 입력을 얻으려고합니다. 그것은 내가 사용하고 있던 다른 프로그램에서 작동하고 붙여 넣기를 복사하지만이 프로그램에서는 작동하지 않습니다. 그것은 나에게 준다 Line 87, Column 38 1119: Access of possibly undefined property EVENT_FRAME through a reference with static type Class. 나는이 문제가 무엇인지 알 수 없다.키보드 입력 없음 AS3

이것은 시작 버튼을 눌렀을 때 사용되는 buttonClick 함수입니다.

public function buttonClick(ev:MouseEvent):void 
    { 
     createGameScreen(); 
     this.mcLink.gotoAndPlay("Idle"); 
     this.mcLink.x=50; 
     this.mcLink.y=200; 
     this.mcLink.scaleX=this.mcLink.scaleY=3; 
     this.stage.addEventListener(Event.EVENT_FRAME, this.enterFrameHandler, false, 0, true); 
    } 

키보드 입력 이벤트 처리기 기능입니다.

public function enterFrameHandler($e:Event):void 
    { 
     if (this.mcLink) 
     {    
      if (KeyboardManager.instance.isKeyDown(KeyCode.DOWN)) 
      { 
       if (this.mcLink.y + this.mcLink.height > this.stage.stageHeight || this.mcLink.y - this.mcLink.height <= 0) 
       { 
        this.mcLink.y += -15; 
        mcLink.gotoAndPlay("Idle"); 
        return; 
       } 
       this.mcLink.y += _nHeroMovementSpeed; 
       mcLink.gotoAndPlay("Down"); 
      } 
      else if (KeyboardManager.instance.isKeyDown(KeyCode.UP)) 
      { 
       if (this.mcLink.y + this.mcLink.height > this.stage.stageHeight || this.mcLink.y - this.mcLink.height <= 0) 
       { 
        this.mcLink.y += 15; 
        mcLink.gotoAndPlay("Idle"); 
        return; 
       } 
       this.mcLink.y -= _nHeroMovementSpeed; 
       mcLink.gotoAndPlay("Up"); 
      } 

      if (KeyboardManager.instance.isKeyDown(KeyCode.LEFT)) 
      { 
       if (this.mcLink.x + this.mcLink.width > this.stage.stageWidth || this.mcLink.x - this.mcLink.width <= 0) 
       { 
        this.mcLink.x += 15; 
        mcLink.gotoAndPlay("Idle"); 
        return; 
       }     
       this.mcLink.x -= _nHeroMovementSpeed; 
       mcLink.gotoAndPlay("Left"); 

      } 
      else if (KeyboardManager.instance.isKeyDown(KeyCode.RIGHT)) 
      { 
       if (this.mcLink.x + this.mcLink.width > this.stage.stageWidth || this.mcLink.x - this.mcLink.width <= 0) 
       { 
        this.mcLink.x += -15; 
        mcLink.gotoAndPlay("Idle"); 
        return; 
       } 
       this.mcLink.x += _nHeroMovementSpeed; 
       mcLink.gotoAndPlay("Right"); 
      } 
     } 
    } 

답변

1

Event.ENTER_FRAME을 찾으셨습니까?

this.stage.addEventListener(Event.ENTER_FRAME, this.enterFrameHandler, false, 0, true); 
//        ^^^^^^^^^^^ EVENT_FRAME isn't a known Event. 
+0

이 특정 코드 줄은 다른 프로그램에서 작동하고 있습니다.이 코드는 제가 지금 작업하고있는 것과 거의 같습니다. 선생님이 제공 한 패키지에 있는지 확실하지 않습니다. – kevorski

+1

오, 신경 쓰지 마세요. 'ENTER'가 아니라'EVENT' 하하하, 고마워! – kevorski