Comunidad de diseño web y desarrollo en internet online

Ingresar a contenido de un MC cargado Externamente [As3]¿?

Citar            
MensajeEscrito el 12 Ene 2008 11:54 pm
Tengo un pequeño problema con As3.
Antes yo con As2 podía cargar una película extenerna y luego manipular el contenido de ella.
Pero en As3 no puedo.
Un ejemplo:
(menu.swf es una película con botones dentro)

Código :

var ldr:Loader=new Loader();
var req:URLRequest=new URLRequest("menu.swf");
ldr.load(req);
ldr.btnInicio.addEventListener(MouseEvent.CLICK, gotoInicio);
function gotoInicio(e:MouseEvent){//Cualquie cosa}

Fíjense, que le intento dar un Listener a un objeto que es dentro de la película cargada.
Pero, esto solo se puede en As2...Ahora no puedo.
¿Alguien sabe como solucionar mi problema?
Gracias...

Por JaLeRu

Claber

1913 de clabLevel

7 tutoriales

Genero:Masculino  

Existo

firefox
Citar            
MensajeEscrito el 13 Ene 2008 07:19 pm
Si se puede en actionscript 3 te falta codigo.

Código :

var ldr:Loader=new Loader();
var req:URLRequest=new URLRequest("2.swf");
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
ldr.load(req);

function complete(e:Event):void{
        this.addChild(ldr);
   ldr.getChildAt(0).addEventListener(MouseEvent.CLICK, gotoInicio);
}
function gotoInicio(e:MouseEvent){trace("EEEE")}


Saludos

Por bipsa

628 de clabLevel

1 tutorial
1 articulo

Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 13 Ene 2008 08:07 pm
Lo que puse era solo un ejemplo.
Me parece que hice lo mismo que me dices...pero igual así are la prueba y te aviso.
Muchas Gracias.

Por JaLeRu

Claber

1913 de clabLevel

7 tutoriales

Genero:Masculino  

Existo

firefox
Citar            
MensajeEscrito el 13 Ene 2008 11:37 pm
Por alguna extraña razón a cualquiera de los botones de mi Mc Cargado que le haga click me hace la función.
Extraño, pues si le intento decir "getChildAt(1)" me dice que salgo de los limites, siendo que existen 5 botones.
también intente con getChildAt(0).getChildAt(1) para ver si por casualidad haya tomado el child 0 como el stage. Y no me funciono.

Por JaLeRu

Claber

1913 de clabLevel

7 tutoriales

Genero:Masculino  

Existo

firefox
Citar            
MensajeEscrito el 14 Ene 2008 09:25 pm
Pon TODO el código necesario para que podamos responder.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 15 Ene 2008 03:06 am
Ok, primero diré que son y que tienen los swf.

juego.swf
Este es un juego que estoy creando, pero existe una parte del juego donde se carga un menu externamente llamado "menu.swf", lo que quiero lograr es que pueda yo luego darle a los botones de ese swf exportado acciones.

menu.swf
Es un menú simple con tan solo 4 botones en el stage.
Los botones son "inicio" "tienda" "hospital" "juegos"

----------------------------------------

Idea 1:
Mi primera idea consistía en cargar el swf y agregarle los listeners.

Código :

var ldr:Loader=new Loader();
var req:URLRequest=new URLRequest("menu.swf");
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
ldr.load(req);
function complete(e:Event):void{
        this.addChild(ldr);
   ldr.getChildByName("inicio").addEventListener(MouseEvent.CLICK, gotoInicio);
 ldr.getChildByName("tienda").addEventListener(MouseEvent.CLICK, gotoTienda);
}
function gotoInicio(e:MouseEvent){trace("Me voy a inicio")}
function gotoTienda(e:MouseEvent){trace("Me voy a Tienda")}


----------------------------

Idea 2:
La segunda idea consistía en colocar el código en el mismo menu.swf.
Pero esto me limitaba mucho, e igual así no me sirve por de todos se supone que al apretar los botones estos cargarían otro MC (Con el contenido) , que también necesitaría entrar a el.
El menu.swf tendria un codigo como esto:

Código :

inicio.addEventListener(MouseEvent.CLICK, gotoInicio);
{
req:URLRequest=new URLRequest("inicio.swf");
parent.parent.getChildByName("contenedor").unload;
parent.parent.getChildByName("contenedor").load(req);
}



¿Más o menos entiendes ahora? :?

(Como pregunta extra*)
*¿Como se puede conocer el valor de una variable desde una clase y modificarlo?
Ejemplo:
Tengo mi flash, y existe una variable llamada velocidad.
Y tengo una clase que toma esta variable, la procesa y luego la cambia.


PD: Tenga una tecnica para editar post. xD, lo cito, copio todo, lo borro, hago uno nuevo, lo pego y le saco las etiquetas.

Por JaLeRu

Claber

1913 de clabLevel

7 tutoriales

Genero:Masculino  

Existo

firefox
Citar            
MensajeEscrito el 05 Abr 2010 09:30 am
No se si le sirva a alguien, pero por si acaso, pongo el codigo que a mi si me funcionó para acceder a una función de un mcCargado desde un mcCargador.

En el mcCargado:

Código ActionScript :

function test() {
   trace("!");
}

En el mcCargador

Código ActionScript :

var loader:Loader=new Loader();
loader.load(new URLRequest("mcCargado.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeF);
function completeF(e:Event){
   addChild(e.target.content);
   e.target.content.test(); // Da como salida un "!"
}

Nota:mcCargador carga a mcCargado.

Por tonatiuh

21 de clabLevel



 

firefox

 

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