forked from: forked from: TextField_scroll

by aiz forked from forked from: TextField_scroll (diff: 1)
♥0 | Line 47 | Modified 2014-02-05 05:26:02 | MIT License
play

ActionScript3 source code

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

// forked from mhayashi's forked from: TextField_scroll
// forked from oshige's TextField_scroll
package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.ui.Keyboard;
    import flash.events.KeyboardEvent;
    public class MyTextField extends Sprite {
        public var fld:TextField;
        public function MyTextField(){
            var tf:TextFormat = new TextFormat();
            tf.font = "_sans";
            tf.size = 18;
            fld = new TextField();
            fld.border = true;
            fld.width = 300;
            fld.height = 100;
            fld.multiline = true;
            fld.wordWrap = false;
            fld.defaultTextFormat = tf;
            fld.text = "a:Archie Shepp\n" + "b:Buddy Rich\n" + "c:Cannonball Adderley\n" + "d:Donny Hathaway\n" + 
            "e:Eric Dolphy\n" + "f:Frankie Paul\n" + "g:Gonzalo Rubalcaba\n" + "h:Hank Mobley";
            fld.x = 100;
            fld.y = 50;
            addChild(fld);
            stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
        }
        //キーボードイベントでスクロールします。
        public function keyDownHandler(event:KeyboardEvent):void {
            switch (event.keyCode) {
                case Keyboard.UP :
                    if (event.shiftKey) {
                        //上下スクロールを先頭に戻します。
                        fld.scrollV = 0;
                    } else {
                        //上へ1行スクロールします。
                        fld.scrollV -= 1;
                    }
                    break;
                case Keyboard.DOWN :
                    if (event.shiftKey) {
                        //一番下までスクロールします。
                        fld.scrollV=fld.maxScrollV;
                    } else {
                        //下へ1行スクロールします。
                        fld.scrollV+=1;
                    }
                    break;
                default :
            }
        }
    }
}