2012-10-12 3 views

Répondre

0

Utilisez un modèle pour suivre l'état clé, puis invalider sur la touche vers le bas pour tester si votre combinaison évalue vrai:

package 
{ 
    import flash.display.Sprite; 
    import flash.events.KeyboardEvent; 
    import flash.ui.Keyboard; 

    [SWF(percentWidth = 100, percentHeight = 100, backgroundColor = 0xefefef, frameRate = 60)] 
    public class X extends Sprite 
    { 

     private var controlKeyDown:Boolean = false; 
     private var altKeyDown:Boolean = false; 
     private var shiftKeyDown:Boolean = false; 
     private var dKeyDown:Boolean = false; 

     public function X() 
     { 
      stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); 
      stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); 
     } 

     protected function keyDownHandler(event:KeyboardEvent):void 
     { 
      switch (event.keyCode) 
      { 
       case Keyboard.ALTERNATE: 
        altKeyDown = true; 
        break; 
       case Keyboard.CONTROL: 
        controlKeyDown = true; 
        break; 
       case Keyboard.SHIFT: 
        shiftKeyDown = true; 
        break; 
       case Keyboard.D: 
        dKeyDown = true; 
        break; 
      } 

      invalidateKeyDown(); 
     } 

     protected function keyUpHandler(event:KeyboardEvent):void 
     { 
      switch (event.keyCode) 
      { 
       case Keyboard.ALTERNATE: 
        altKeyDown = false; 
        break; 
       case Keyboard.CONTROL: 
        controlKeyDown = false; 
        break; 
       case Keyboard.SHIFT: 
        shiftKeyDown = false; 
        break; 
       case Keyboard.D: 
        dKeyDown = false; 
        break; 
      } 
     } 

     protected function invalidateKeyDown():Boolean 
     { 
      if (altKeyDown && controlKeyDown && shiftKeyDown && dKeyDown) 
      { 
       trace("easter egg."); 
       return true; 
      } 

      return false; 
     } 

    } 
} 
+0

Je vais essayer. Merci –

Questions connexes