Comunidad de diseño web y desarrollo en internet online

Problema addChild y removeChild

Citar            
MensajeEscrito el 24 Nov 2010 05:33 pm
Buenas, os explico.

Tengo un boton que al darle crea una instancia de un MC

BtnTelefono escribió:

BtnTelefono.addEventListener (MouseEvent.CLICK, pulsaRaton);

function pulsaRaton (e:Event) :void {
var b:VentEmergente = new VentEmergente();
MovieClip(root).addChild(b);
}


Dentro de la instancia de MovieClip que se crea hay un boton que sirve para cerrarla llamado BtnCerrar2 y le asigno el siguiente script

BtnCerrar2 escribió:

BtnCerrar2.addEventListener (MouseEvent.CLICK, pulsaRaton);

function pulsaRaton (e:Event) :void {
removeChild(VentEmergente);
}


Pero me da el siguiente error:

Símbolo 'VentEmergente', Capa 'Borrar', Fotograma 1, Línea 4 1067: Conversión implícita de un valor de tipo Class a un tipo flash.display:DisplayObject no relacionado.


No se como solucionarlo, yo solo quiero que me borre la instancia...

Un saludo!

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 24 Nov 2010 06:18 pm
Tendría que ser:

removeChild(b);

Pero esto

var b:VentEmergente = new VentEmergente();

Ponlo fuera de pulsaRaton, sino no encontrará la instancia (supongo que todo está en la misma línea de tiempo)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Nov 2010 11:21 am
Me da error también:

Símbolo 'VentEmergente', Capa 'Borrar', Fotograma 1, Línea 4 1120: Acceso a una propiedad b no definida.

solisarg escribió:

(supongo que todo está en la misma línea de tiempo)


Todo esta en el fotograma 1, lo unico que para crear la instancia esta en el root, y para borrarla esta dentro del MC que se instancia.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 25 Nov 2010 01:20 pm
lo unico que para crear la instancia esta en el root, y para borrarla esta dentro del MC que se instancia


La traducción de esto sería: No están en la misma línea de tiempo

Entonces es lógico que no encuentre la propiedad, porque está en root, no en el MC

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Nov 2010 02:49 pm
OK,

Entonces para que esten en la misma linea de tiempo como podria hacerlo. Por que el boton que hace removeChild esta dentro de la instancia.

Y con VentEmergente.BtnCerrar2.addEventListener que seria lo que aria normalmente pare referenciarlo des de fuera del MC (VentEmergente) no me funciona.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 25 Nov 2010 03:11 pm
LLama a una función en root que sea la que remueve el MC

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Nov 2010 03:24 pm
No lo entiendo.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 26 Nov 2010 04:59 pm
En la línea de tiempo principal:

Código ActionScript :

function pulsaRaton (e:Event) :void {
 removeChild(b);
} 


En la línea de tiempo en la que tengas el botón

BtnCerrar2.addEventListener (MouseEvent.CLICK, root.pulsaRaton);

Puede que te tire error, si eso le pones notación de Array


BtnCerrar2.addEventListener (MouseEvent.CLICK, root["pulsaRaton"]);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Nov 2010 10:46 am
Me dice esto

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at VentEmergente/frame1()

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 27 Nov 2010 12:07 pm
que tienes en el frame 1 de VentEmergente?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Nov 2010 04:57 pm
Unicamente tengo esto:

Código ActionScript :

var b:VentEmergente = new VentEmergente();

BtnTelefono.addEventListener (MouseEvent.CLICK, pulsaRaton);

function pulsaRaton (e:Event) :void {
   
   MovieClip(root).addChild(b);
   }
   
   
function cerrar(e:Event) :void { 
 removeChild(b); 
} 


Y dentro del MC :

Código ActionScript :

BtnCerrar2.addEventListener (MouseEvent.CLICK, root["pulsaRaton"]);

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 27 Nov 2010 04:59 pm
Perdon se me olvidaba tambien tengo metido la funcion de mover dentro del MC (VentamaEmergente)

Código ActionScript :

bar_sup.addEventListener(MouseEvent.MOUSE_DOWN, onMouse_Down);
bar_sup.addEventListener(MouseEvent.MOUSE_UP, onMouse_Up);

function onMouse_Down(e:Event):void{
MovieClip(e.target.parent).startDrag() 
}
function onMouse_Up(e:Event):void{
MovieClip(e.target.parent).stopDrag() 
}

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 27 Nov 2010 07:02 pm
Si la función pulsaRaton la tienes dentro de VentEmergente, ¿por que la llamas en root?
Si no entiendes que es lo que tratas de hacer, esto es un laberinto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 28 Nov 2010 05:54 am
Y es que realmente no me aclaro mucho aun con Action script.

Yo lo unico que quiero es que en el MC root se cree la instancia VentEmergente, y que des de ella pueda cerrarlo como una ventana de windows normal.

No se si me explico bien.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 29 Nov 2010 01:02 am
Buenas,

Mira te pongo la prueba que estoy realizando para que veas lo que quiero hacer.

Aqui

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 29 Nov 2010 01:20 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Nov 2010 03:43 pm
No queria que me rectificases el tarbajo, es mas no es ni mi trabajo solo un ejemplo de lo que queria hacer. Pero bueno entiendo y comparto las normas.
De todas formas muchas gracias por todo.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 29 Nov 2010 04:15 pm
Me he vuelto a leer el post y me equivoque al escribir una cosa.

Este es el que esta metido dentro del MC VentEmergente

Código ActionScript :

BtnCerrar2.addEventListener (MouseEvent.CLICK, root["cerrar"]);

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 30 Nov 2010 11:28 am
Por cierto ya encontre la solucion, por si a alguien le interesa, solo tenia que poner:

Código ActionScript :

b.BtnCerrar2.addEventListener (MouseEvent.CLICK, pulsaRaton);

function pulsaRaton (e:Event) :void {
removeChild(b);
} 


En el root y asi ya me reconocia el boton dentro de la instancia

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox

 

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