チェンジセット 78

差分発生行の前後
無視リスト:
コミット日時:
2007/09/15 18:24:49 (6 年前)
コミッタ:
kuy
ログメッセージ:

KeyIf?.as 0.2.0 Keyクラスで定義されていないキーコード指定にも対応。
Delay.as 0.1.0 初版。サンプルで必要になったので。

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • kuy/as2/sample/KeyIf/Main.as

    r77 r78  
    11import net.endflow.util.KeyIf; 
     2import net.endflow.util.Delay; 
    23 
    34var ship:Ship = new Ship(_root); 
     
    89        LEFT: function(){ship.left()}, 
    910        RIGHT: function(){ship.right()}, 
    10         SPACE: {CONTROL: function(){ship.shot()}}, 
     11        SPACE: {CONTROL: {_90: function(){ship.shot()}}}, 
    1112        PGUP: [function(){ship.up()}, function(){ship.shot()}], 
    1213        PGDN: [function(){ship.down()}, function(){ship.shot()}], 
    13         HOME: function(){ship.reset()} 
     14        HOME: {_82: function(){ship.reset()}}, 
     15        _88: function(){ 
     16                ship.shot(); 
     17                Delay.f(function(){ 
     18                        ship.shot(); 
     19                        Delay.f(function(){ 
     20                                ship.shot(); 
     21                        }, 200); 
     22                }, 200); 
     23        } 
    1424}); 
  • kuy/as2/src/net/endflow/util/KeyIf.as

    r77 r78  
    2626 *                              [0.1.0] 2007-05-27: 改良。Snippets Projectに公開。 
    2727 *                              [0.1.1] 2007-09-14: ちょっとリファクタリング&コメント追加。 
     28 *                              [0.2.0] 2007-09-15: Keyクラスで定義されていないキーもキーコードで指定可能にした。 
    2829 */ 
    2930class net.endflow.util.KeyIf { 
     
    3940         *      Key.addListener(this); 
    4041         *      this.onKeyDown = KeyIf.f({ 
     42         *              HOME: function(){trace('HOME')}, 
    4143         *              UP: {PGUP: function(){trace('UP/PGUP')}}, 
    4244         *              DOWN: {PGDN: function(){trace('DOWN/PGDN')}}, 
     
    4446         *              RIGHT: [function(){trace('RIGHT#1')}, function(){trace('RIGHT#2')}, function(){trace('RIGHT#3')}] 
    4547         *              SPACE: {CONTROL: function(){trace('SPACE/CTRL')}}, 
    46          *              HOME: function(){trace('HOME')} 
     48         *              _90: function(){trace('Z')} 
    4749         *      }); 
    4850         *      </code> 
     
    7779                return function() { 
    7880                        for(var k in info) { 
    79                                 if(Key[k] === Key.getCode()) { 
     81                                if((k.charAt(0) == "_" && parseInt(k.substr(1)) == Key.getCode()) 
     82                                        || (Key[k] == Key.getCode())) { 
    8083                                        info[k](); 
    8184                                }