Problema con LocalConnection que se conecta a actionscript 1 swf

votos
0

Estoy construyendo una aplicación de shell que cargará otros swf dentro de él en función de qué capítulo y en qué sección esté el usuario. El shell está escrito en actionscript 3 y está cargando varios swfs AS3, AS2 y AS1 dentro de él. Estoy usando LocalConnection después de que se hayan cargado los swf AS2 y AS1 para establecer la variable correcta para flash para encontrar el archivo XML correcto para cargar para ese capítulo / swf. Hasta ahora no he tenido problemas con la carga de los swfs AS2, pero los 2 o 3 swfs AS1 que acabo de configurar no parecen cargarse. He trabajado muy poco con AS1 en el pasado, aparte de depurar o configurar el código anterior, así que me pregunto si me estoy perdiendo algo realmente obvio.

Aquí está el código para cargar y conectarse al AS1 swf desde 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);
}

Aquí está el código en la aplicación AS1 para recibir esa llamada 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
}

Obviamente he dejado algunas cosas, pero aquí es donde llega el swf ... Cargará el swf AS1 correctamente y enviará la variable correcta y desconectará la función init. No golpeará la función getDrillXML para el evento onLoad. He probado esto con XML funcional y XML no funcional, definitivamente arrojará un mensaje de Error Loading si la ruta XML es incorrecta, así que cuando lo estoy haciendo correctamente, definitivamente está cargando el XML correcto. Tengo una declaración de seguimiento en la parte superior de la función getDrillXML y eso nunca aparece, por lo que tiene que ser algo relacionado con la clase XML en AS1 y no cargar correctamente el archivo XML, terminar la carga y luego pasar a la función especificada después de que está hecho.

Probé esto sin LocalConnection y simplemente codifiqué las variables allí con el swf local y funciona bien, todo se carga y la aplicación funciona según lo previsto.

¿Alguien más se ha topado con esto antes? ¿Es esto un problema de alcance? ¿Me falta algo de la versión AS1 de las clases LocalConnection o XML? El archivo se publica en un flash player 6 swf.

¡Gracias por cualquier ayuda!

Publicado el 09/12/2008 a las 17:56
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
1

suspiro

No escribí el código para la aplicación AS1 y no sé por qué funcionó cuando el SWF es una aplicación independiente, pero por qué no funciona cuando se carga dentro de una aplicación de shell AS3, PERO el evento xml onLoad está mal escrito como onload en el swf original. No puedo creer que haya desperdiciado todo este tiempo en algo tan trivial jaja, amigo ... A veces la codificación puede ser deprimente.

¡Gracias a todos los que leyeron esto, a mi próximo dolor de cabeza!

Respondida el 09/12/2008 a las 18:47
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more