Xa13gi
07.03.2010, 21:58
Господа.. вот уже который день борюсь и никак не могу победить... весь инет облазил, везде по разному и везде не получается перекинуть решения на мою задачу...
Прошу Вашей помощи...
Ситуация (взял задачку для упрощения):
Есть SWF2
в ней есть функцию swf2_function():string
(которая возвращает некое значение)
Есть SWF1, в которую я загружаю SWF2 с помощью SWFLoader:
<mx:SWFLoader id="load1" loaderContext="{lc}"
source="dataload_test.swf" complete="loadcompl(event)" />
ну и соответственно в loadcompl(e:Event):void я хочу обращаться к функциям, переменным (разумеется они все public) загруженной SWF2.
loaderContext="{lc}"
это у меня :
[Bindable]
private var lc:LoaderContext;
и иницилизуруюсь в функции:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
backgroundColor="0xFFFFFF"
creationComplete="f_start_2();">
/*пропущено всякая фигня*/
private function f_start_2():void
{
lc = new LoaderContext();
lc.checkPolicyFile = false;
lc.applicationDomain = ApplicationDomain.currentDomain;
lc.securityDomain = null;
}
Сама флешка загружается успешно, так как если я при создании флешке SWF2 укажу запускать какую-либо функцию (c alert-ом к примеру), то при запуске SWF1 высветится Alert второй флешки. (но мне этого не надо).
Как всё-таки правильно обртатиться к параметрам и функциям загруженной SWF2??
что-то вроде swf2.application.swf2_function();
ну в данном случае наверно что-то вроде:
load1.content.swf2_function()
Flex + AS3 :)
Добавлено через 19 минут
на сколько я понимаю для вызова функций мне так же нужно использовать
public var loadedSM:SystemManager;
в функцию иницилизации SWF1 я вставляю:
loadedSM = SystemManager(load1.content);
и дальше по-идее могу обращаться через loadedSM к функциям SWF2 ... но нифига :( не получается:(
при попытке запустить с :
Local(loadedSM.application).f_start();
(как написанно в примере: http://wiki.flash-ripper.com/?title=SWFLoader)
он ругается: 1180: Call to a possibly undefined method Local.
Как правильно, чтобы он видел мои функции?
Прошу Вашей помощи...
Ситуация (взял задачку для упрощения):
Есть SWF2
в ней есть функцию swf2_function():string
(которая возвращает некое значение)
Есть SWF1, в которую я загружаю SWF2 с помощью SWFLoader:
<mx:SWFLoader id="load1" loaderContext="{lc}"
source="dataload_test.swf" complete="loadcompl(event)" />
ну и соответственно в loadcompl(e:Event):void я хочу обращаться к функциям, переменным (разумеется они все public) загруженной SWF2.
loaderContext="{lc}"
это у меня :
[Bindable]
private var lc:LoaderContext;
и иницилизуруюсь в функции:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
backgroundColor="0xFFFFFF"
creationComplete="f_start_2();">
/*пропущено всякая фигня*/
private function f_start_2():void
{
lc = new LoaderContext();
lc.checkPolicyFile = false;
lc.applicationDomain = ApplicationDomain.currentDomain;
lc.securityDomain = null;
}
Сама флешка загружается успешно, так как если я при создании флешке SWF2 укажу запускать какую-либо функцию (c alert-ом к примеру), то при запуске SWF1 высветится Alert второй флешки. (но мне этого не надо).
Как всё-таки правильно обртатиться к параметрам и функциям загруженной SWF2??
что-то вроде swf2.application.swf2_function();
ну в данном случае наверно что-то вроде:
load1.content.swf2_function()
Flex + AS3 :)
Добавлено через 19 минут
на сколько я понимаю для вызова функций мне так же нужно использовать
public var loadedSM:SystemManager;
в функцию иницилизации SWF1 я вставляю:
loadedSM = SystemManager(load1.content);
и дальше по-идее могу обращаться через loadedSM к функциям SWF2 ... но нифига :( не получается:(
при попытке запустить с :
Local(loadedSM.application).f_start();
(как написанно в примере: http://wiki.flash-ripper.com/?title=SWFLoader)
он ругается: 1180: Call to a possibly undefined method Local.
Как правильно, чтобы он видел мои функции?