Comunidad de diseño web y desarrollo en internet online

cargar una pelicula externa en action script 3.0

Citar            
MensajeEscrito el 18 May 2009 10:39 pm
Hola,
Estoy haciendo una película en flash actionscript versión 3.
El problema es que siempre programé en versión 2 y me estoy volviendo loco buscando la forma de cargar un swf externo.
El tiempo está en mi contra :shock: y si o si tiene que estar hecho en AS 3.

Pude hacerlo si la acción está asignada a un fotograma en la línea de tiempo, pero no puedo asignársela a un botón.

Esta es la sentencia que usé:

var thisMovieClip:MovieClip;
var thisRequest:URLRequest=new URLRequest("02.swf");
var thisLoader:Loader = new Loader();
thisLoader.contentLoaderInfo.addEventListener(Event.INIT, doneLoading);
thisLoader.load(thisRequest);

function doneLoading(evt:Event):void {
thisMovieClip = MovieClip(thisLoader.content);
stage.addChild(thisMovieClip);
thisMovieClip.stop();
}

Agradezco por adelantado.
Saludos.

Por tron

1 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 18 May 2009 10:58 pm
Leo tu codigo y no le encuentro ningun problema no se como no puedes hacerlo al click de boton :?

Solo mete todo ese codigo dentro de la funcion click del boton.

Código ActionScript :

//A tu boton le agregas el listener de clik que llamara ala funcion click o ala de tu agrado
tuBoton.addEventListener(MouseEvent.CLICK,Click);

//Recibe de parametro el evento
function Click(e:MouseEvent){
//aqui pegas todo tu codigo sin problema
}


Lo anterior deberia funcionar sin problema.

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 May 2009 04:08 pm
Creo que el problema esta en el tipo de evento que estas usando. En lugar de:

thisLoader.contentLoaderInfo.addEventListener(Event.INIT, doneLoading);

usa:

thisLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, doneLoading);

Por Lunaty

Claber

118 de clabLevel



Genero:Femenino  

Flash Developer & RM Email Support for Google

firefox
Citar            
MensajeEscrito el 20 May 2009 04:35 pm
hola gente,
muchas gracias por la ayuda pero sigo sin poder hacerlo.

Cómo me sugirió Angel Roberto, asígné esas sentencias, pero no sé si me falta algo.
Probé utilizar tu código Lunaty pero tampoco tuve suerte.

Creo que mi error está en la sentencia para cargar el .swf:

function Click(e:MouseEvent){
loader.load(new URLRequest("02.swf"));

Por tron

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 May 2009 06:33 am
Tron, en AS.3 el modo de controlar los eventos es siempre el mismo
1.-Tenemos un MC ó Botón (realmente una variable que hace referencia a él). Sea, p.e. "tuBoton" (si lo tienes en el escenario con ese nombre de instancia nos vale)
2.-Añadimos el listener

Código ActionScript :

tuBoton.addEventListener(MouseEvent.CLICK,Click); 

Eso quiere decir que, cuando se haga click en "tuBoton" se ejecutará la función "Click"
3.-Definimos la función "Click", tal y como te ha dicho Angel

Código ActionScript :

function Click(e:MouseEvent){ 
//aqui pegas todo tu codigo sin problema 
} 

Cuando Angel dice "pegas todo tu código sin problemas" es TODO el código que tenías

Código ActionScript :

var thisMovieClip:MovieClip;
var thisRequest:URLRequest=new URLRequest("02.swf");
var thisLoader:Loader = new Loader();
thisLoader.contentLoaderInfo.addEventListener(Event.INIT, doneLoading);
thisLoader.load(thisRequest);

function doneLoading(evt:Event):void {
thisMovieClip = MovieClip(thisLoader.content);
stage.addChild(thisMovieClip);
thisMovieClip.stop();
}

Vale, podemos sacar FUERA la función doneLoading. Aunque en ese caso la tenemos que cambiar un poco quedando

Código ActionScript :

function doneLoading(evt:Event):void {
    var loader:Loader = Loader(event.target.loader);
    addChild(loader);
}

Vamos, nos referimos al "loader" mediante la propiedad "target.loader" del evento (*)
(*)La propiedad "target" de un evento se refiere al objeto al que se le ha añadido el evento. En nuestro caso es a thisLoader.contentLoaderInfo. Como lo que añadimos al "stage" es el propio "loader" escribimos event.target.loader

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Dic 2009 07:25 pm
Hola, quería comentaros que he probado el código y funciona perfectamente. Pero mi caso es algo distinto, os comento por si me podeis ayudar:

Me estoy haciendo una web flash y he cogido una plantilla que me gustaba mucho con un menu 6 botones y uno de ellos me lleva al portafolio de trabajos/fotos. En esta ventana tengo un clip de pelicula en una zona del documento y dentro he puesto un boton y un clip (llamado contenedor) que quiero que sea el contenedor donde se habra el SWF externo al pulsar el boton. Pero no se como hacerlo funcionar y no entiendo de programación. Trabajo con flash cs4 con action script 3 y a duras penas voy descifrando y consiguiendo avanzar.

Agradecería su ayuda.

Muchas gracias

Por NAROCREATIVO

1 de clabLevel



 

msie8

 

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