private var handleDir:File;
private var handleFiles:Array;
private var curResIndex:int;
private var rootDir:String;
private var curConfig:Array;
private var curAction:String;
private var curDir:int;
private var curMotionPath:String;
private var outputDir:String;
private var dataDir:String;
private var relativePath:String; //相对路径
private var myTimer:Timer = new Timer(10);
private var startTime:uint;
private var takeTime:uint;
private var doN:int;
private var curActionLength:uint;
private var curDirInfos:Array;
private var curPassFrames:int
private var totalFrames:int;
private var mainApp:ApplicationDomain;
private var ext:String;
private var s*File:File;
private var flashUI:UIComponent;
private var extends_version:String;
private var spInfo:Object;
private var oDir:String;
private function scanDirFiles(e:File):void{
if(e.isDirectory){
var files:Array = e.getDirectoryListing();
for(var i:int=0; i<files.length; i++){
var aFile:File = files[i] as File;
if( aFile.isDirectory){
this.scanDirFiles(aFile);
}else{
if(aFile.extension!=null && (aFile.extension.toLocaleLowerCase()==this.ext)){
this.handleFiles.push(aFile);
}
}
}
}else{
if(e.extension!=null && (aFile.extension.toLocaleLowerCase()==this.ext)){
this.handleFiles.push(e);
}
}
}
protected function button1_clickHandler(event:MouseEvent):void
{
private function getClass(domain:ApplicationDomain, name:String):Object{
try{
var clz:* = domain.getDefinition(name);
}catch(e:Error){
clz = null;
}
return clz;
}
private function sendMessage(s:String):void{
this.myMessage.appendText(s + "\r\n");
}
private function clearMsg():void{
this.myExeError = "";
this.myMessage.text = "";
}
private var myExeError:String;
private var appDir:String;
//添加错误日志
private function addErrLog(s:String):void{
this.sendMessage(s);
this.myExeError += s + "\r\n";
printErr();
}
private function printErr():void{
if(this.myExeError!=null){
var bytes:ByteArray = new ByteArray;
var eFile:File = new File(this.appDir + "\\" + "errorLog.txt");
bytes.writeMultiByte(this.myExeError, "gbk");
writeFile(eFile, bytes);
}
}
protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void
{
this.appDir = File.applicationDirectory.nativePath;
this.outputDir = this.appDir + '\\output';
var f:File = new File(this.outputDir);
if(!f.exists){
f.createDirectory();
}
this.dataDir = this.appDir + '\\data';
var f:File = new File(this.dataDir);
if(!f.exists){
f.createDirectory();
}
this.status = "工具就绪。。。";
this.sendMessage("");
f = new File(this.appDir + "\\xxxx.swf");
if(!f.exists){
Alert.show("初始化失败,丢失文件:" + f.nativePath, "错误");
return;
}
var ldr:Loader = new Loader();
var lc:LoaderContext = new LoaderContext();
lc.allowCodeImport = true;
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onLoadChild);
ldr.loadBytes(readFile(f), lc);
}
private var EncryptFile:*;
private function onLoadChild(_arg_1:Event):void
{
this.mainApp = (_arg_1.target as LoaderInfo).applicationDomain;
protected function btnX_clickHandler(event:MouseEvent):void
{
if(!this.EncryptFile){
Alert.show("初始化错误,无法调用解密!", "错误");
return;
}
var f:File = new File();
f.addEventListener(Event.SELECT, this.onSe);
f.browseForOpen("swf", [new FileFilter("swf", "*.swf")]);
}
private function onSe(e:Event):void{
var f:File = e.target as File;
var bytes:ByteArray = readFile(f);
if (!EncryptFile.isEncryptFile(f.name))
{
this.sendMessage("如果解密错误请检查文件!");
}
bytes = EncryptFile.decryptBytes(bytes);
var fr:FileReference = new FileReference;
fr.save(bytes, f.name.replace(".swf", "_.swf"));
}