Проблема с подключением LocalConnection к actionscript 1 swf - PullRequest
0 голосов
/ 09 декабря 2008

Я создаю приложение оболочки, которое будет загружать внутри него другие SWF-файлы в зависимости от того, в какой главе и в каком разделе находится пользователь. Оболочка написана на ActionScript 3 и загружает в нее различные SWF-файлы AS3, AS2 и AS1. , Я использую LocalConnection после того, как SWF AS2 и AS1 были загружены, чтобы установить правильную переменную для flash, чтобы найти правильный файл XML для загрузки для этой главы / swf. До сих пор у меня не было проблем с загрузкой swfs AS2, но 2 или 3 swfs AS1, которые у меня есть, просто не устанавливаются и не загружаются вообще. В прошлом я очень мало работал с AS1, кроме отладки или настройки старого кода, поэтому мне интересно, не упустил ли я что-то действительно очевидное?

Вот код для загрузки и подключения к AS1 swf из AS3:

AS1SWF = evt.target.content;
sendSwf_lc = new LocalConnection();
addChild(AS1SWF);
stopPlayback(fileID);

private function stopPlayback(fileID:String):void {
sendSwf_lc.send("LocalConnection", "init", fileID, "English");
}

Вот код в приложении AS1 для приема этого вызова LocalConnection.

var conn:LocalConnection;
conn = new LocalConnection();
conn.connect("LocalConnection");

conn.init = function(chapter, language) {

drillFile = "matching/xml/"+chapter+".xml";
drill = new XML();
drill.ignoreWhite = true;
drill.onload = getDrillXML;
drill.load(drillFile);
this.close();
}

function getDrillXML() {
trace("Application is starting now!");
//Rest of code
}

Я, очевидно, кое-что упустил, но вот где swf добирается ... Он загрузит swf AS1 правильно, отправит правильную переменную и запустит функцию init. Он не будет вызывать функцию getDrillXML для события onLoad. Я проверил это с работающим XML и неработающим XML, оно определенно выдаст сообщение об ошибке загрузки, если путь XML неправильный, поэтому, когда я делаю это правильно, он определенно загружает правильный XML. У меня есть оператор trace в самом верху функции getDrillXML, и он никогда не появляется, поэтому он должен быть чем-то, включающим в себя класс XML в AS1, и он неправильно загружает файл XML, завершает загрузку и затем переходит к указанной функции после того, как это сделано.

Я проверил это без LocalConnection и просто жестко запрограммировал переменные там с помощью локального swf, и он работает просто отлично, все загружается и приложение работает как задумано.

Кто-нибудь еще сталкивался с этим раньше? Это проблема сфер? Я что-то упускаю из AS1-версии LocalConnection или XML-классов? Файл опубликован на флеш плеере 6 swf.

Спасибо за любую помощь!

1 Ответ

1 голос
/ 09 декабря 2008

вздыхает

Я не писал код для приложения AS1, и я не знаю, почему это работает, когда SWF является автономным приложением, но почему оно не работает, когда оно загружается внутри приложения оболочки AS3, НО Событие xml onLoad неправильно записывается как onload в оригинальном swf. Я не могу поверить, что я потратил все это время на что-то настолько банальное, ха-ха, чувак ... Иногда кодирование может быть удручающим.

Спасибо всем, кто прочитал это, к моей следующей головной боли!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...