2014-02-04 2 views
0

Я получил эту функцию (в классе документа)отправить keyCode без ключевого события?

public function kyz(event:KeyboardEvent):void{ 
     trace(event.keyCode); 
     switch (event.keyCode){ 
      case 65:{ 
       if (ppm.currentFrame<200 || ppm.currentFrame>300) { 
        ppm.gotoAndStop(301); 
        ssm.gotoAndStop(302); 
        llm.gotoAndStop(302); 
        mmm.gotoAndStop(302); 
        myTimer.stop(); 
        pd.play(); 
       }else { 
        pd.play(); 
        ppm.gotoAndPlay(10); 
        tlrnc-=10; 
       }    
       break; 
      } 
      case 68:{ 
       if (ssm.currentFrame<200 || ssm.currentFrame>300) { 
        ssm.gotoAndStop(301); 
        ppm.gotoAndStop(302); 
        llm.gotoAndStop(302); 
        mmm.gotoAndStop(302); 
        myTimer.stop(); 
        mTimer.stop(); 
        sd.play(); 
       }else { 
        sd.play(); 
        ssm.gotoAndPlay(10); 
        tlrnc-=10; 
       } 
       break; 
      } 
      case 74:{ 
       if (llm.currentFrame<200 || llm.currentFrame>300) { 
        llm.gotoAndStop(301); 
        ppm.gotoAndStop(302); 
        ssm.gotoAndStop(302); 
        mmm.gotoAndStop(302); 
        myTimer.stop(); 
        mTimer.stop(); 
        ld.play(); 
       }else { 
        ld.play(); 
        llm.gotoAndPlay(10); 
        tlrnc-=10; 
       } 
       break; 
      } 
      case 76:{ 
       if (mmm.currentFrame<200 || mmm.currentFrame>300) { 
        mmm.gotoAndStop(301); 
        ppm.gotoAndStop(302); 
        ssm.gotoAndStop(302); 
        llm.gotoAndStop(302); 
        myTimer.stop(); 
        mTimer.stop(); 
        md.play(); 
       }else { 
        md.play(); 
        mmm.gotoAndPlay(10); 
        tlrnc-=10; 
       } 
       break; 
      } 
     } 
    } 

, который принимает ключевое событие и делать вещи. теперь я пытаюсь передать их keyCode из другой функции (чтобы избежать изменения всего кода для добавления функции щелчка) получили какие-либо предложения?

ответ

1

вы можете направить KeyboardEvent

stage.dispatchEvent(
    new KeyboardEvent(KeyboardEvent.KEY_DOWN, true, false, myCharCode, myKeyCode)); 

просто добавьте необходимое KEYCODE в качестве параметра

+0

Похоже, что легкий способ, который я искал, на самом деле больше кода, чем я ожидал^_ ^ –

1

Вы не можете отправлять события клавиатуры или мыши без интерактивности с пользователем. Вы можете справиться с этим в другой частной функции:

private function keyDownHandler(event : KeyboardEvent) : void { 
     this.handleEvent(event.keyCode); 
    } 

    private function handleEvent(keyCode : uint) : void { 
     //some actions 
    } 

И когда вам нужно сделать определенные действия, вы можете просто вызвать функцию handleEvent без стороны пользователя интерактивности.

+0

это не так, вы можете поддельной активность пользователя –

+0

Нет, вы не можете ... Вы пытались сделать это? – Actionsmile

+0

Я сделал что-то вроде этого, и я просто хотел посмотреть, есть ли другой способ^_^ –

Смежные вопросы