flash on 2009-6-21

by undo
RPG風のテキスト出力
♥0 | Line 47 | Modified 2009-06-21 22:52:35 | MIT License
play

ActionScript3 source code

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

/*
 *RPG風のテキスト出力
 */

package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.events.Event;
    import flash.events.MouseEvent;
    public class FlashTest extends Sprite {
        private var _string:String = "おおゆうしゃよ\nしんでしまうとはなさけない"
        private var _tf:TextField = new TextField();
        private var _array:Array = new Array();
        private var _i:int = 0;
        public function FlashTest():void {
            init();
        }
        
        private function init():void
        {    
            addChild(_tf);
            _array = _string.split(/(.)/).filter(filterCallback);
            stage.addEventListener(MouseEvent.CLICK, startText);
        }
        private function filterCallback(item:String, index:int, array:Array):Boolean
        {
            return(item && item.length > 0);
        }
        
        private function startText(evt:MouseEvent):void
        {
            stage.removeEventListener(MouseEvent.CLICK, startText);
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
            stage.addEventListener(MouseEvent.CLICK, skipText);
        }
        
        private function onEnter(evt:Event):void
        {
            if(_i < _array.length){
                _tf.appendText(_array[_i]);
            }
            else
            {
                stage.removeEventListener(Event.ENTER_FRAME, onEnter);
                stage.removeEventListener(MouseEvent.CLICK, skipText);
             }
        }
        
        private function skipText(evt:MouseEvent):void
        {
            stage.removeEventListener(Event.ENTER_FRAME, onEnter);
            stage.removeEventListener(MouseEvent.CLICK, skipText);
        }   
    }
}