Обычно вы просто добавляете контент к экранному объекту, когда он загружен, и манипулируете им столько, сколько хотите:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, eventCompleteHandler);
loader.load(new URLRequest(URL));
function eventCompleteHandler(event:Event):void
{
addChild(createElementWithBorder(event.target.content));
}
function createElementWithBorder(content:DisplayObject):DisplayObject
{
var container:Sprite = new Sprite();
container.addChild(content);
var border:Shape = container.addChild(new Shape()) as Shape;
border.graphics.lineStyle(2,0x000000);
border.graphics.drawRect(0, 0, content.width,content.height);
return container;
}
... Но если вы все еще раздражены, вы не можете использовать Loader в качестве DisplayObjectContainer, подсказкой может быть использование композиции (ниже приведен лишь краткий пример, который, конечно, необходимо учесть):
public class LoaderBorder extends Sprite
{
private var loader:Loader;
public function LoaderBorder()
{
loader = new Loader()
}
public function load(url:String):void
{
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, eventCompleteHandler);
loader.load(new URLRequest(url));
}
private function eventCompleteHandler(event:Event):void
{
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, eventCompleteHandler);
var content:DisplayObject = event.target.content;
var border:Shape = new Shape();
border.graphics.lineStyle(2,0x000000);
border.graphics.drawRect(0, 0, content.width,content.height);
addChild(content);
addChild(border);
}
}
Для использования в качестве погрузчика:
var test:LoaderBorder = new LoaderBorder()
addChild(test);
test.load(URL);