PDA

Просмотр полной версии : Загрузка swf`ом (as3) swf(as2) и вызов функции


DEAFFF
16.10.2007, 16:28
Всем привет! В поиске не нашел ничего.

Ситуация такая есть file1.swf (as2) в нем есть функция test()
так же есть file2.swf (as3).

Нужно загрузить из file2.swf файл file1.swf и запустить в нем функцию test(). Реально ли подобное???

И как запустить функцию если file1.swf будет на as3 ???

Вот мой код file2.swf:


import flash.display.*;
import flash.net.URLRequest;
var ldr:Loader = new Loader();
var url:String = "file1.swf";
var urlReq:URLRequest = new URLRequest(url);
ldr.load (urlReq);
addChild (ldr);

function onEnterFrame(event:Event):void
{
trace(ldr["test"]);//error
}

this.addEventListener(Event.ENTER_FRAME, onEnterFrame);


Заранее благодарю.

etc
16.10.2007, 16:34
Заранее пожалуйста.

Нет, взаимодействие AS3 с AS2 возможно лишь через LocalConnection.

DEAFFF
16.10.2007, 16:37
Спасибо за ответ! А как быть если оба файла на ас3? и в загружаемом есть функция, как ее запустить из загружающего свфа?

2morrowMan
16.10.2007, 17:08
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
function onLoadComplete(event:Event):void
{
var movie:* = loader.content;
movie.myCoolMethod(/*args*/);
}
loader.load(new URLRequest('myCoolMovie.swf'));

etc
16.10.2007, 17:59
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
function onLoadComplete(event:Event):void
{
var movie:* = loader.content;
movie.myCoolMethod(/*args*/);
}
loader.load(new URLRequest('myCoolMovie.swf'));

Лучше интерфейс прикрутить.

lumumba
17.10.2007, 10:56
Лучше интерфейс прикрутить.
да лучше так :)
была уже такая тема, я вопрос подобный задавал
поищите

DEAFFF
17.10.2007, 17:04
пробую по локал конекшен как написано тут

http://flasher.ru/forum/showpost.php?p=586334&postcount=105

не получается при нажатии на загруженный мувик выдается ошибка:

"Error #2044: Unhandled StatusEvent:. level=error, code="

Что это означает? Подскажите плиззз!

Вот то что у меня получается...

etc
17.10.2007, 17:18
Ну а перевести текст ошибки?

DEAFFF
17.10.2007, 17:24
ну можно это грубо перевести как "не обработан статус ивента", но мне от этого не легче. исходник не работает а как заставить его работать ума не приложу

etc
17.10.2007, 17:26
Не обработано событие StatusEvent. Значит его нужно обработать, т.е. подписать на него обработчик.

DEAFFF
17.10.2007, 17:59
Ошибка решена! Я когда ставил в publish settings версию скрипта вместо 2 поставил 1.

Теперь все работает! Спасибо за внимание.

BlooDHounD
17.10.2007, 18:55
а я думал тут версия скрипта 3 обсуждается :)

etc
17.10.2007, 23:51
О взаимодействии =)