home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / VenusMission.swf / scripts / __Packages / keyboardPackage / ScreenKeyboard.as < prev   
Encoding:
Text File  |  2008-09-23  |  2.9 KB  |  97 lines

  1. class keyboardPackage.ScreenKeyboard
  2. {
  3.    var MC;
  4.    var keyboard;
  5.    var usedKeys;
  6.    function ScreenKeyboard(_MC)
  7.    {
  8.       this.MC = _MC;
  9.       this.keyboard = keyboardPackage.Keyboard.getInstance();
  10.       this.usedKeys = new Array();
  11.       this.setKeys();
  12.    }
  13.    function onPress(key)
  14.    {
  15.       this.key_onPress(this.usedKeys[key],key);
  16.    }
  17.    function onRelease(key)
  18.    {
  19.       this.key_onRelease(this.usedKeys[key],key);
  20.    }
  21.    function key_onPress(tMC, key)
  22.    {
  23.       tMC.gotoAndStop("pressed");
  24.    }
  25.    function key_onRelease(tMC, key)
  26.    {
  27.       tMC.enabled = true;
  28.       tMC.gotoAndStop("released");
  29.    }
  30.    function mouse_onRollOver(tMC, key)
  31.    {
  32.       this.usedKeys[key].isMouse = false;
  33.       tMC.gotoAndStop("mouseOver");
  34.    }
  35.    function mouse_onRollOut(tMC, key)
  36.    {
  37.       tMC.gotoAndStop("released");
  38.       this.usedKeys[key].isMouse = false;
  39.    }
  40.    function mouse_onPress(tMC, key)
  41.    {
  42.       tMC.gotoAndStop("pressed");
  43.       this.usedKeys[key].isMouse = true;
  44.       this.keyboard.onKeyDown(key);
  45.    }
  46.    function mouse_onRelease(tMC, key)
  47.    {
  48.       this.keyboard.onKeyUp(key);
  49.    }
  50.    function setKeys()
  51.    {
  52.       var keyMC;
  53.       var keyMCchar;
  54.       var keyMCcode;
  55.       var tMC;
  56.       var letterLabel;
  57.       var numpadkey;
  58.       for(var name in this.MC)
  59.       {
  60.          if(this.MC[name] instanceof MovieClip && name.indexOf("key") != -1)
  61.          {
  62.             keyMC = this.MC[name];
  63.             keyMCchar = name.substring(name.lastIndexOf("_") + 1).toUpperCase();
  64.             numpadkey = keyMCchar.split("NUM")[1];
  65.             if(!isNaN(numpadkey) && numpadkey.length == 2 && numpadkey != undefined)
  66.             {
  67.                keyMCchar = "NUM" + String.fromCharCode(Number(numpadkey));
  68.             }
  69.             if(!isNaN(Number(keyMCchar)) && keyMCchar.length > 1)
  70.             {
  71.                keyMCchar = String.fromCharCode(Number(keyMCchar));
  72.             }
  73.             keyMCcode = this.keyboard.getKeyCode(keyMCchar);
  74.             this.usedKeys[keyMCcode] = keyMC;
  75.             keyMC.onPress = system.Delegate.create(this,this.mouse_onPress,keyMC,keyMCcode);
  76.             keyMC.onRelease = system.Delegate.create(this,this.mouse_onRelease,keyMC,keyMCcode);
  77.             keyMC.onRollOver = system.Delegate.create(this,this.mouse_onRollOver,keyMC,keyMCcode);
  78.             keyMC.onRollOut = keyMC.onReleaseOutside = system.Delegate.create(this,this.mouse_onRollOut,keyMC,keyMCcode);
  79.             letterLabel = keyMC.letter.label;
  80.             letterLabel.autoSize = "center";
  81.             if(keyMCchar.length > 1)
  82.             {
  83.                if(numpadkey)
  84.                {
  85.                   keyMCchar = keyMCchar.split("NUM")[1];
  86.                }
  87.                else
  88.                {
  89.                   keyMCchar = keyMCchar.substr(0,1) + keyMCchar.substr(1).toLowerCase();
  90.                }
  91.             }
  92.             letterLabel.text = keyMCchar;
  93.          }
  94.       }
  95.    }
  96. }
  97.