Comunidad de diseño web y desarrollo en internet online

Descargar SWF!!

Citar            
MensajeEscrito el 07 May 2009 09:28 pm
Necesito descargar un swf cargado externamente,elimino toda referencia a el y todos sus listeners y el codigo sigue corriendo ahun despues de un loader.unload(); como logro callarlo (porq su codigo lo que ejecuta es un loop de sonido),un SoundMixer.SopAll(); no funciona porq no es un loop convencional de play(0,int.MAX_VALUE) ; si no que por medio de un timer lanzo el sonido cada cierto tiempo,no puedo meterle mas mano al codigo del swf cargado asi que debo callarlo desde el swf padre....PERO COMO!! como lo destruyo para que dejen de resurgir de las cenizas rastros de su codigo que lanzan de nuevo cada sonido :cry:

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 May 2009 10:54 am
Lo mejor es poner un método destroy en el swf que se encargue de toda la limpieza de los recursos internos. Luego el padre llama a destroy y luego lo descarga

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 May 2009 05:35 pm
Si por todos lados esa recomendacion encontre :( pero eran demasiados archivos que se necesitaban republicar por mi falta de prevision y por eso no podia meterle mas mano al codigo pero a final de cuentas no hubo mas solucion tuve que meterle mas codigo y a republicar no queda de otra mas que aprender de la experiencia. Gracias por contestar solo una pregunta mas.Pensando en ese hecho de la republicacion al programar algo tratamos de dejarlo lo mas escalable posible que algun cambio minimo en diseño solo conlleve republicar un swf que cargan los demas archivos es posible implementar algo parecido al codigo?? yo pensaba tener un swf en blanco con mi clase asociada y que cada uno de mis archivos lo cargue y use sus funciones pero es esto recomendable?? alguna vez han o has hecho algo parecido??

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 May 2009 05:46 pm
Nop, ya sea que uses include o una clase externa, todo se compila en un solo swf, es decir si cambias el código tienes que recompilar para que surja efecto. Esto es porque a diferencia de los lenguajes interpretados (como por ejemplo PHP), la máquina virtual (el flash player) consume bytecode (similar a Java)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 May 2009 04:07 pm
Saludos de nuevo, disculpa la tardanza pero el fin de semana no tuve acceso a internet :(..
De lo que me dices estoy conciente,independientemente de ser una clase externa tengo que recompilar el swf para que cualquier cambio surta efecto, pero mi idea es implementar otra cosa quiza no la explique bien.

Tengo un swf (Codigo.swf) con su clase main.as asociada y tengo un tercer archivo que lo que hace es un "Load.Codigo.swf" y un cambio en Codigo. swf se reflejara en mi tercer archivo y asi podria tener "n" archivos cargando Codigo.swf y al republicar este veo cambios en todos, pero no se si esto sea recomendable o me puede acarrear problemas que opinas??

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 May 2009 05:52 pm
Sorry, no te entiendo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 May 2009 11:09 pm
:o no crei ser tan malo para explicarme pero de nuevo lo intentare.


Tengo este codigo:

Código ActionScript :

package{
//////////////////////////
//imports correspondientes//
//////////////////////////
public class Prueba extends MovieClip{
      public function Hola(){

   trace("Hola mundo");
}

}
}


Creo un archivo Main con su clase de documento Prueba, entonces al correr Main con el siguiente codigo:

Código ActionScript :

Hola();


Vere "Hola mundo" en mi panel de salida.

Ahora tengo un segundo archivo con este codigo en el primer frame:

Código ActionScript :

var referencia:MovieClip=new Movieclip() ;
var loader:Loader=new Loader();
loader.load(new URLRequest("Main.swf"));

loader.contentLoaderInfo.addEventListener(Event.Complete,CargaLista);

function CargaLista(e:Event){
referencia=MovieClip(e.target.content)
addChild(referencia);
referencia.Hola();
}



Vere "Hola mundo" en mi panel de salida.

Este codigo lo puedo repetir en 15 archivos por ejemplo y si quiero que ahora tracen "Kiubole" en lugar de"Hola Mundo" solo cambiare mi archivo Main y esto se reflejara en todos.

Con esto espero no tener que republicar todos mis archivos sino solo uno que contendra todas mis funciones,que opinas te parece coherente no lo crees recomendable??

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 May 2009 10:42 am
Claro, en tu clase en vez de poner trace("Hola") pones trace("Kiubole"), y cuando republiques, el trace cambia. La idea de usar clases es encapsular funcionalidades.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 May 2009 09:46 pm
Gracias por el interes, hare unas pruebas con eso :cool:

Saludos!!

Por Angel Roberto

Claber

248 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.