forked from: [memo] タブキー移動を無効にする

by kuboon forked from [memo] タブキー移動を無効にする (diff: 12)
♥0 | Line 41 | Modified 2010-11-18 19:41:39 | MIT License
play

ActionScript3 source code

/**
 * Copyright kuboon ( http://wonderfl.net/user/kuboon )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/8m4M
 */

// forked from yoshiweb's [memo] タブキー移動を無効にする
package {
    import flash.events.FocusEvent;
    import flash.events.KeyboardEvent;
    import flash.text.TextFieldAutoSize;
    
    import flash.display.Sprite;
    import flash.text.TextField;
    
    public class FlashTest extends Sprite {
        public function FlashTest() {
            // write as3 code here..
            
            var box1:Sprite = createSpriteRect(80,80,0xFF0000);
            box1.x = 50;
            box1.y = 50;
            this.addChild( box1 );
            
            var box2:Sprite = createSpriteRect(80,80,0xFF0000);
            box2.x = 250;
            box2.y = 50;
            this.addChild( box2 );
            
            box1.buttonMode = true;
            box2.buttonMode = true;
            
            // TAB キーを無効にする
            //四角いワクが消えるだけで実際には無効になっていない
            stage.stageFocusRect = false;
            
            // 
            var txt:TextField = new TextField();
            txt.autoSize = TextFieldAutoSize.LEFT;
            this.addChild(txt);
            
            txt.text = "タブキーを無効にしておかないと隠しボタンなどを実行されるかも!?";
        }
        
        
        /**
        * 四角を描く( Sprite )
        * @param    width    横幅
        * @param    height   縦幅
        * @param    rgb      色
        */
        private function createSpriteRect(width:Number=100, height:Number=100, rgb:Number=0x000000):Sprite {
            var sp:Sprite = new Sprite();
            sp.graphics.beginFill(rgb);
            sp.graphics.drawRect(0, 0, width, width);
            sp.graphics.endFill();
            sp.addEventListener(FocusEvent.FOCUS_IN,focus_in);
            sp.addEventListener(FocusEvent.FOCUS_OUT,focus_out);
            return sp;
        }        
        
        private function focus_in(e:FocusEvent):void{
            e.target.alpha=.5;
        }
        private function focus_out(e:FocusEvent):void{
            e.target.alpha=1;
        }
    }
}