Доброго время суток.
В своей работе имитирую динамическую библиотеку.

Код AS3:
package wa.games.tanks.display.skins.classes
{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.errors.IOError;
import flash.events.IOErrorEvent;
import flash.events.Event;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.display.Bitmap;
import flash.display.BitmapData;
public class SkinLogistic extends Sprite {
private var skinlib:Array;
public function SkinLogistic() {
skinlib = new Array();
}
public function addSkin(id:String, url:String):void
{
var imageLoader:Loader = new Loader();
imageLoader.load(new URLRequest(url + "?id=" + id));
skinlib[id] = new Object();
skinlib[id].status = 'LOAD';
skinlib[id].resource = imageLoader;
skinlib[id].resource.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
skinlib[id].resource.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoadError);
}
public function verify(property:String = null):String
{
switch (property)
{
case "loading":
{
for ( var temp:* in skinlib )
{
if (skinlib[temp].status == 'LOAD')
{
return 'LOAD';
break;
}
}
return 'COMPLETE';
} break;
}
return 'NaN';
}
public function export(id:String, type:String = null):* {
switch (type)
{
case "bitmap":
{
return skinlib[id].resource.content;
} break;
case "sprite":
{
var sp:Sprite = new Sprite();
sp.addChild(skinlib[id].resource);
return sp;
} break;
default:
{
return skinlib[id].resource;
} break;
}
}
public function get status():String
{
return STATUS;
}
private function onLoadComplete(e:*):void
{
var id:String = e.target.parameters.id;
skinlib[id].status = 'ACTIVE';
}
private function onLoadError(e:*):void
{
var id:String = e.target.parameters.id;
skinlib[id].status = e.toString();
}
}
}
Но в результате выполнения

Код AS3:
var skin:SkinLogistic = new SkinLogistic();
skin.addSkin('LineBack', 'sources/lineback.png')
var line1:* = skin.export('LineBack','sprite');
var line2:* = skin.export('LineBack','sprite');
line1 и line2 ссылаются на один и тотже объект, а мну нужно что бы ссылания вообще не было, а объекты получали лишь объект который по сути нужно просто клонировать.
Помогите пожалуйста.
Может что не понятно написал, комментируйте уточню.