я пытаюсь получить доступ к
snapText = scrollPane.source.textSnapshot;
с внешнего SWF. Я пробовал:
trace("-->: "+scrollPane.source.textSnapshot.getText(0, 1000));
trace("-->: "+myLoader.content.textSnapshot.getText(0, 1000));
trace("-->: "+mc.textSnapshot.getText(0, 1000));
trace("-->: "+mc.getChildAt(0).textSnapshot.getText(0, 1000));
trace("-->: "+mc.getChildByName(myLoader).textSnapshot.getText(0, 1000) );
trace("-->: "+scrollPane.content.textSnapshot.getText(0, 100));
все из которых были бесплодны. КСТАТИ:
mc.getChildAt(0).textSnapshot.getText(0, 1000)
выдает ошибку:
1119: Access of possibly undefined property textSnapshot through a reference with static type flash.display:DisplayObject.
хотя я знаю, что метод есть.
весь приведенный выше код запускается в функции checkHandler:
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, checkHandler);
поэтому swf должен быть полностью загружен.
Текст также есть, я проверил с помощью декомпилятора SWF.
мувиклип с загрузчиком создается так
scrollPane = MovieClip(root).scrollPaneOnStage;
myLoader.load(new URLRequest("tmp1.swf"));
mc.addChild(myLoader);
scrollPane.source = mc;
спасибо заранее!
ОБНОВЛЕНИЕ - все еще не решено
Я сейчас получаю доступ к SWF, как указано HotN.
function checkHandler(evt:Event):void {
libMC = evt.target.content as MovieClip;
libMC.gotoAndStop(0);
trace(libMC.textSnapshot.getText(0, 100));
snapText = libMC.textSnapshot;
scrollPane.source = mc;
}
Сначала это приводило к ошибке, поскольку загрузчик в скрипте as3 не может загрузить фильм as2 (т. Е. AVM1). поэтому я создал AVM2 swf, что привело к ошибке: Ошибка # 2000: Нет активного контекста безопасности. В качестве решения я использовал класс из http://www.igorcosta.org/?p=231 для загрузки SWF, но все еще не могу доступ к текстуСнимок экрана:
trace(libMC.textSnapshot.getText(0, 100));
ничего не возвращает и не выдает ошибку!
Кстати: хотя я мог изменить формат SWF, я не могу изменить сам файл, так как он автоматически генерируется.