forked from: flash on 2010-3-22 Print

by CatHobo forked from flash on 2010-3-22 (diff: 56)
♥0 | Line 57 | Modified 2013-07-08 00:35:33 | MIT License
play

ActionScript3 source code

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

// forked from hacker_n96o8lrr's flash on 2010-3-22
package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.text.TextFieldAutoSize;
    public class main extends Sprite {
            private var TextY:int=0;
            private var _txt:TextField=new TextField();
            private var _format:TextFormat=new TextFormat();
            private var TFCache:Array=new Array();
            private var TFCIndex:int=0;
        public function main():void {
            try{
                var SomeArray:Array=new Array();
                SomeArray[2]=4;
                Print(SomeArray.length);
                Print("This message is now invisible.");
                ClearText();
                Print("A\nB\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nC");               
                Print("Wo\nr\nds".indexOf("\n"));
                Print("Wo\nr\nds".substr(5).indexOf("\n")==-1);
                //throw new Error("OOPS");
            }catch(e:Error){
                ClearText();
                super.addChild(_txt);
                _txt.autoSize = TextFieldAutoSize.LEFT;
                _txt.textColor=0xFF7F00;
                _txt.y+=TextY;
                _format.size=50;
                _txt.defaultTextFormat=_format;
                _txt.text=e.name+" "+e.message;
            }
        }
        public function ClearText():void{
            for each(var TField:TextField in TFCache){
                //Remove Sprites in this Array.
                super.removeChild(TField);
            }
            //Reset variables.
            TFCache=new Array();
            TFCIndex=TextY=0;
        }

        public function Print(Text:*):void{
            var T:TextField=new TextField();
            T.autoSize = TextFieldAutoSize.LEFT;
            T.text = Text;
            super.addChild(T);
            T.y+=TextY;
            TextY+=14;
            var TempIndex:int=0;
            var TempString:String=String(Text);
            //Checks if there are \n's to change TextY
            while(TempString.substr(TempIndex).indexOf("\n")!=-1){
                TempString=TempString.substr(TempIndex);
                TempIndex=TempString.substr(TempIndex).indexOf("\n")+1;
                TextY+=14;
            }
            //Assign Textfields in Array to be "erased" later.
            TFCache[TFCIndex++]=T;
        }
    }
}