Я столкнулся с препятствием на этом пути и был бы очень признателен, если кто-нибудь может помочь мне в этом, пожалуйста.То, что я пытаюсь сделать, это использовать совместно используемую библиотеку времени выполнения, загрузив SWF ('index.swf'), который имеет множество библиотечных объектов, которые названы в последовательности, например:
(orange1, orange2, orange3, orange4) (red1, red2, red3, red4)
Я могу загрузить swf ('index.swf') без проблем и даже могу загрузить нужный библиотечный актив, но я должен объявитьполное имя в виде строки, например, getDefinition ('orange1').Что я хотел бы сделать, это сопоставить первые три буквы строки, а затем запустить цикл for, чтобы загрузить все классы, которые соответствуют первым трем буквам.Обычно я могу сделать это, используя метод indexOf ().
Вот мой код:
public function loadContent():void
{
ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, onloadHandler);
ldr.load(req);
}
public function progressHandler(eProgress:ProgressEvent):void
{
var percent:Number = (eProgress.bytesLoaded / eProgress.bytesTotal);
trace(percent);
}
public function onloadHandler(e:Event):void
{
// THIS IS WHERE I AM TRYING TO MATCH THE STRING
var str:String = "red";
str = (str.indexOf(str));
var ref1:Class = e.currentTarget.applicationDomain.getDefinition(str) as Class
trace(ref1);
}
Я был бы очень признателен за вашу помощь.
Спасибо.