forked from: flash on 2010-3-22 Print
forked from flash on 2010-3-22 (diff: 56)
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;
}
}
}
