Я человек, занимающийся программированием и дизайном, но далекий от flash поэтому обращаюсь за вашей помощью, есть исходный код одного файла, написанного на action script, в него импортируются другие swf объекты, прошу вас почитать код и подсказать мне как определить полный url этих подключаемых объектов (для их последующего скачивания).
Вот код файла:
PHP код:
package alternativa.loader
{
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
public class PriorLibraryResource extends Object
{
private var _id:Number;
private var _version:Number;
private var infoLoader:URLLoader;
private var manifestLoader:URLLoader;
private var loader:Loader;
private var url:String;
private var _name:String;
private var console:PriorConsole;
private var osgi:Object;
private var librariesInitParams:Dictionary;
private var librariesData:Object;
private var mainLoader:AlternativaLoader;
private static const initClassPath:String = "alternativa.init";
public function PriorLibraryResource(mainLoader:AlternativaLoader, osgi:Object, console:PriorConsole, id:Number, version:Number, librariesInitParams:Dictionary, librariesData:Object)
{
this.mainLoader = mainLoader;
this.osgi = osgi;
this.console = console;
this.librariesInitParams = librariesInitParams;
this.librariesData = librariesData;
this._id = id;
this._version = version;
this.infoLoader = new URLLoader();
this.infoLoader.addEventListener(Event.COMPLETE, this.onInfoLoad);
this.infoLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onLoadIOError);
this.infoLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onLoadSecurityError);
this.manifestLoader = new URLLoader();
this.manifestLoader.addEventListener(Event.COMPLETE, this.onManifestLoadComplete);
this.manifestLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onLoadIOError);
this.manifestLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onLoadSecurityError);
this.loader = new Loader();
this.loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onLoadComplete);
this.loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onLoadIOError);
this.loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onLoadSecurityError);
return;
}// end function
public function load(url:String) : void
{
this.url = url;
this.infoLoader.load(new URLRequest(url + "info.xml"));
return;
}// end function
public function unload() : void
{
this.infoLoader = null;
this.loader.unload();
this.loader = null;
return;
}// end function
private function onInfoLoad(event:Event) : void
{
var _loc_2:* = new XML(URLLoader(event.target).data);
this._name = _loc_2.@name;
var _loc_3:* = new LoaderContext();
_loc_3.applicationDomain = ApplicationDomain.currentDomain;
_loc_3.securityDomain = SecurityDomain.currentDomain;
if (this.console != null)
{
this.console.writeToChannel("RESOURCE", "Загружается ресурс " + this._name + " ID: " + this._id + " версии " + this._version + " из " + this.url);
}
if (this.mainLoader.debug)
{
this.loader.load(new URLRequest(this.url + "debug.swf"), _loc_3);
}
else
{
this.loader.load(new URLRequest(this.url + "library.swf"), _loc_3);
}
return;
}// end function
private function LongToString(value:Number) : String
{
return value.toString();
}// end function
private function onLoadComplete(event:Event) : void
{
if (this.console != null)
{
this.console.writeToChannel("RESOURCE", "Библиотека " + this._name + " загружена (" + LoaderInfo(event.target).bytesTotal + " байт)");
}
if (ApplicationDomain.currentDomain.getDefinition(AlternativaLoader.initClassPath + "." + "OSGi") != null)
{
}
if (this.osgi == null)
{
this.osgi = this.mainLoader.initOSGi();
}
else
{
this.manifestLoader.load(new URLRequest(this.url + "MANIFEST.MF"));
}
return;
}// end function
private function onManifestLoadComplete(event:Event) : void
{
this.osgi.installBundle(String(URLLoader(event.target).data));
if (this.mainLoader.mainLibrariesLoaded)
{
this.mainLoader.initMain();
}
return;
}// end function
private function onLoadIOError(event:Event) : void
{
if (this.console != null)
{
this.console.writeToChannel("RESOURCE", "Ошибка загрузки ресурса IOError " + event);
}
return;
}// end function
private function onLoadSecurityError(event:Event) : void
{
if (this.console != null)
{
this.console.writeToChannel("RESOURCE", "Ошибка загрузки ресурса SecurityError " + event);
}
return;
}// end function
public function get name() : String
{
return "библиотека" + (this._name == null ? ("") : (" " + this._name));
}// end function
public function getLoader() : Loader
{
return this.loader;
}// end function
public function set id(value:Number) : void
{
this._id = value;
return;
}// end function
public function get id() : Number
{
return this._id;
}// end function
public function get version() : Number
{
return this._version;
}// end function
}
}
Меня интересуют конкретно эти файлы:
PHP код:
if (this.mainLoader.debug)
{
this.loader.load(new URLRequest(this.url + "[B][COLOR="Red"]debug.swf[/COLOR][/B]"), _loc_3);
}
else
{
this.loader.load(new URLRequest(this.url + "[B][COLOR="Red"]library.swf[/COLOR][/B]"), _loc_3);
}
Заранее всем спасибо!