Comunidad de diseño web y desarrollo en internet online

Cargar SWF externo con AS3

Citar            
MensajeEscrito el 14 Jul 2008 01:26 pm
Hola!!! A ver si me sacáis de este tapón que me he metio. xD

La cuestión es que quiero cargar un swf externo en AS3, supongo que es una cuestión simple peor que a mi no me sale ni atrás.

Os explico un poco la situación:
Tengo un menú que cuando clickas a un botón va al frame " tal", pos yo quiero en el frame "tal" se cargue una película externa determinada.

Como lo puedo hacer?

Probé con:

Código :

var request:URLRequest = new URLRequest("peliexterna.swf");
var cargar:Loader = new Loader()
cargar.load(request);
addChild(cargar);



Pero claro cuando le das al botón no encuentra le película y me sale el siguiente error:


TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.

Por Jeymedia

10 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Jul 2008 01:58 pm
Hay un foro dedicado a AS3, aquí tienes el método a utilizar:

Código :

var loader:Loader = new Loader();
loader.load(new URLRequest("peliexterna.swf"));

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, insertMovie);

function insertMovie(evt:Event):void{ 
   
   addChild(loader);
   
}


No debes añadir a la stage el displayObject hasta que este no se haya cargado

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 14 Jul 2008 02:11 pm
Moskis! perdón por no ponerlo donde tocaba no lo ví en su momento.

Ostia me sigue dando el mismo problema y no se como hacer eso de añadir ala película el displayObject una vez cargado, me podrías explicar un poquito más.

Mil gracias! mil no... millones!
Saludos y muchas gracias!

Por Jeymedia

10 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Jul 2008 04:52 pm
Buenas, aquí tienes un ejemplo de carga de archivos externos en AS3, con los posibles listeners que se pueden asociar al cargador y su funcionamiento:

http://www.esedeerre.com/webphp/scripts/AS.php?id=4&post=22

Con esto y la respuesta de elchininet no deberias tener problema para hacerlo.

Saludos

Daniel

Por SdR

23 de clabLevel



Genero:Masculino  

opera
Citar            
MensajeEscrito el 14 Jul 2008 06:22 pm
El código que te puse de ejemplo espera que se cargue el swf y cuando se completa entonces inserta el objeto loader.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 15 Jul 2008 10:06 am
Buff es que no hay manera... seré estúpido he inutil! ma salen errores por tos laos!

A ver intentaré explicar mejor el problema a ver que me decís... yo diría que no ha de ser tan complicado.

Tengo dos películas, una es la principal y la otra es un slideshow que carga imágenes mediante xml y que tiene una clase asociada, este slidesow funciona de lujo!

Entonces tengo un botón en la película principal que cuando le aprietas va al frame1 de un clip. pues bien yo solo quiero que en ese frame me carge el swf del slideshow.


Un poco de historia
en as2 lo que hacia era crear una clip llamado contenido y cuando quería hacer lo mismo que quiero hacer ahora simplemente escribía en el botón
loadMovie("pelicula.swf", "contenido");

Es simplemente eso, no quiero mas nada solo quiero que en un frame me carge la película.
Una ayudita por favor.

Att: un tio desesperao!

Por Jeymedia

10 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 15 Jul 2008 10:19 am
Vale... vale... he utilizado este código:
var contenedor = new Loader();
contenedor.load(new URLRequest("peli.swf"));
addChild(contenedor);
contenedor.x = 0
contenedor.y=0
y me ha hecho el load movie de pm!
luego al poner el que quiero yo me da un error al cargar la clase asociada al documento, aquí es donde esta todo el percal. bufff no se me ocurre que puedo añadir para que me cargue la clase.

Gracias por vuestra ayuda.

Por Jeymedia

10 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 15 Jul 2008 10:41 am
Te recomiendo que primero pruebes con un movie sencillo con una figurita y después trates de cargar el del slideshow, el ejemplo que te puse te debe de funcionar, si lo quieres añadir a un movie en el escenario es de esta manera:

Código :

var contenedor:MovieClip = new MovieClip();
var loader:Loader = new Loader();
loader.load(new URLRequest("peliexterna.swf"));

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, insertMovie);

function insertMovie(evt:Event):void{ 
   
   addChild(contenedor).name = "contenedor";
   contenedor.addChild(loader).name = "loader";
   
}


Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 15 Jul 2008 10:43 am
No había visto tu última respuesta, tienes los dos movies en el mismo lugar o estas tratando de cargar al slideshow desde una carpeta?

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 15 Jul 2008 11:04 am
Ya probé con uno sencillo y me va de lujo, antes lo tenia en otra carpeta, pero ahora lo pase a la misma.
ahora el problema que me da cuando cargo es que no me carga la clase asociada al swf que quiero cargar.

es decir me pone esto:

TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at general$iinit()[\\\fotos\general.as:21]

bufff me muero!!!

elchininet te debo varias cervezas ;)

Por Jeymedia

10 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 15 Jul 2008 06:02 pm
Veo que lo que estás leyendo busca referencia de una clase que está en "fotos\general.as", estás teniendo un problema de rutas, mira en el flash del slideshow si tiene puesto un "classpath".

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 05 Mar 2009 11:49 am
Buenas, estoy intentadno cargar un swf externo hecho en AS2 desde un flash en AS3. ¿Se puede hacer esto?
Es que me da el siguiente error:

escribió:

ArgumentError: Error #2180: No está permitido mover contenido AVM1 (AS1 o AS2) a una ubicación distinta de la lista displayList si se ha cargado en contenido AVM2 (AS3)

Por juandoj

5 de clabLevel



 

Barcelona

firefox
Citar            
MensajeEscrito el 30 Jun 2009 02:03 pm
Tengo un problema, yo tengo un swf q solo tiene una imagen que dice "bienvenidos" y al final quiero que automaticamente me cargue un swf que es externo pero que se encuentra en la misma carpeta.. solo que lo cargue en la misma pantalla, nada mas.

Como hago ? :S

Por ayrezxxx

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Jun 2009 02:54 pm
¿Estás trabajando con AS3? Postea algo de código que tengas en lo que estás intentando hacer.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 30 Jun 2009 03:08 pm
Hago lo siguiente, tengo la imagen, y en una capa q esta arriba le pongo al fotograma el siguiente codigo :

var contenedor = new Loader();
contenedor.load(new URLRequest("galeria_cubo.swf"));
addChild(contenedor);
contenedor.x = 100
contenedor.y=0

pareceria que me quiere cargar elswf externo, pero me da el siguiente error :

TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at cubic_gallery/::Init()
at cubic_gallery$iinit()


Tambien probe con :

{
var request:URLRequest = new URLRequest("galeria_cubo.swf");
var loader:Loader = new Loader()
loader.load(request);
addChild(loader);
};

pero me sale el mismo error

Por ayrezxxx

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Jun 2009 08:03 pm
El problema no está en estos códigos sino en el SWF que intentas leer (galeria_cubo.swf).
Cambia este SWF por otro sencillo sólo con una figurita y si te sale sin errores estarás seguro que el problema es allí.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 17 Jul 2009 04:01 pm
en el menu de mi web tengo varias opciones en el menu principal (obvio)
en 2 de ellas cargo un archivo externo swf
en una cargo el google map
y en otro una multigaleria
el problema surge cuando no se termina la carga de un swf (quiza porque el servidor de google a veces este muy sobrecargado)
y se solicita otra opcion..
parece que la carga sigue activa y al completar
me la muestra en cualquier parte

es un dolor de cabeza!!!
que podra ser?
existe algo como un kill para el loader?

Por brokercl

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Jul 2009 08:00 pm
Si estás trabajando con AS3 el método close de la clase Loader cierra la conexión de la carga que se esté realizando.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 13 Ago 2009 01:10 am
Hola a todos, estoy aprendiendo as3 pero tengo un problema. En as2 se podia asignar a un movieClip para q cargue el swf o jpg, es decir, teniamos en el escenario un movieClip al cual de dabamos un nombre en las propieades y despues le asignabamos a ese, pero ahora veo q en as3 se ocupas un addchild(), no entiendo eso, como se puede cargar varios swfs sobre un mismo movieClip... No se si me hice entender.. saludos

Por Sochmal

53 de clabLevel



 

cuenca

msie7
Citar            
MensajeEscrito el 13 Ago 2009 11:30 am
Sochmal, en AS.3 es "muy parecido". Lo que pasa es que, en lugar de cargar el .swf en un movieClip que tuviéramos, simplemente lo cargamos en un Objeto de tipo Loader.

Código ActionScript :

var unicoLoader=new Loader(); //<---lo creamos
addChild(unicoLoader);    //<--lo añadimos al escenario

//dos botones
bt1.addEventListener(Events.MOUSE_DOWN,pelicula1);
bt2.addEventListener(Events.MOUSE_DOWN,pelicula2);
//he usado dos funciones distintas, lo suyo sería usar una única función
//pero por hacerlo más fácil

function pelicula1(e:Event){
       unicoLoader.load(new URLRequest("pelicula1.swf"); 
}
function pelicula2(e:Event){
       unicoLoader.load(new URLRequest("pelicula2.swf"); 
}

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ago 2009 05:40 pm
Gracias ELISEO2 pero ejecuto tu codigo y me da el siguiente error..

Código ActionScript :

1084: Error de sintaxis: se esperaba rightparen antes de semicolon.


q hice mal?

Por Sochmal

53 de clabLevel



 

cuenca

msie7
Citar            
MensajeEscrito el 13 Ago 2009 07:07 pm
Haz lo que te dice el error, añade el paréntesis donde falta:

Código ActionScript :

unicoLoader.load(new URLRequest("pelicula1.swf"));


Y así mismo con el otro load.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 14 Ago 2009 03:11 am
Gracias.. no me habia fijado..

Por Sochmal

53 de clabLevel



 

cuenca

msie7
Citar            
MensajeEscrito el 14 Oct 2009 02:18 am
Hola hola!!

antes que nada les pido un poco de paciencia pues apenas estoy migrando a AS3 (y ps soy diseñador, entonces, estoy medio chavo en esto de la programación), tengo una duda que no me deja dormir (es neta!, sueño con código que me persigue con un cuchillo en la mano), y es que buscando la nueva forma de lo que antes era el loadMovie llegué aquí merengues y pude hacerlo, con el código que enseñaron arribita:


var contenedor:MovieClip = new MovieClip();
var loader:Loader = new Loader();
loader.load(new URLRequest("sec 2.swf"));

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, insertMovie);

function insertMovie(evt:Event):void{

addChild(contenedor).name = "contenedor";
contenedor.addChild(loader).name = "loader";
contenedor.x = 150
contenedor.y = 100

}


hasta ahí todo es maravilloso y el mundo es feliz, me carga mi pelicula "sec 2.swf" en el stage principal y blablabla, peeeeeeero, aqui viene mi duda, cómo hago el unLoadMovie? y especificamente, cómo hago que se quite "sec 2.swf" y regrese a mi pelicula principal con un botón?

este es el codigo con el q programo los botones:

btn_close.buttonMode=true;

btn_close.addEventListener(MouseEvent.ROLL_OVER, overClose);
btn_close.addEventListener(MouseEvent.ROLL_OUT, outClose);
btn_close.addEventListener(MouseEvent.CLICK, clickClose);


function overClose(event:MouseEvent):void {
btn_close.gotoAndPlay("over");
}

function outClose(event:MouseEvent):void {
btn_close.gotoAndPlay("out");
}

function clickClose(event:MouseEvent):void {

}



espero me puedan guiar un poco con esto, pues no entiendo muy bien aun la ondita... mil gracias!

Por gaborenton

0 de clabLevel



 

Ciudad de México

safari
Citar            
MensajeEscrito el 22 Oct 2009 05:18 pm
Si ya añadiste el loader a la DisplayList y le asignaste un nombre sólo elimínalo tomando el DisplayObject por su nombre algo como esto:

Código ActionScript :

contenedor.removeChild(contenedor.getChildByName("loader"));


Sitúa ese código dentro del click de tu botón y te debería eliminar el swf leido.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 29 Oct 2009 05:15 pm
Hola a todos estoy realizando un proyecto con Flex y su plataforma propietaria flash...
donde cargo un swf al escenario de Flex... carga perfectamente, pero lo q quiero es acceder a sus metodos y propiedades y enviar datos desde el flex hacia el flash y viseversa... please help me....

ya carga el swf, he visto todo este post y rebuscado en la web, pero no encuentro algo claro y conciso q concuerde con lo q quiero....

:?
Graxias....

Por f_vargas

86 de clabLevel

1 tutorial

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 19 Mar 2010 06:52 pm
estoy = q vargas U_U al cargar un swf al escenario flex cosa que carga de maravilla, pero no me deja acceder a sus enlaces (otros swf)

Por juramy

Claber

217 de clabLevel

2 tutoriales

 

Programador

msie8
Citar            
MensajeEscrito el 14 Jul 2010 10:15 am
Hola, necesito una ayuda urgente,
Estoy intentando cargar un swf dentro de otro pero no me lo carga, en AS2 lo hacía así:

target.loadMovie("widget_clima.swf");
stop();

pero ahora está en AS3 y no me lo carga, cual sería el codigo a insertar?. Muchas gracias, pero es que soy un novato en esto.

Por soy_max

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Jul 2010 09:52 pm
@soy_max, si te tomas un poco de tiempo y lees este mismo post verás el código que necesitas para cargar un swf en AS3.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 14 Jul 2010 09:57 pm
Perdona, pero ya me lei todo el post de arriba a abajo y he metido todos los codigos que aparecen y nada no carga, no se ve. Por eso preguntaba a ver que es lo que hago mal. Estoy desesperado proque no lo consigo, perdona por las molestias, si puedes ayudarme te lo agradezco. Muchas gracias

Por soy_max

4 de clabLevel



 

firefox

 

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