Comunidad de diseño web y desarrollo en internet online

Acceso a una variable a través de un botón

Citar            
MensajeEscrito el 28 Ene 2008 04:48 pm
Hola a todos,

Mi problema es el siguiente. La verdad es que soy algo primerizo en flash y me encuentro con que
no me aclaro bien con el acceso a los niveles.

Tengo un clip película llamado <giro> que tiene condiciones con una variable llamada <parar>. Desde el clip principal si utilizo un botón en el que hago: giro.parar=1; me lo hace bien, pero si este clip lo convierto a un nuevo botón <boton_new> y hago: boton_new.giro.parar=1; no me funciona. Intento imprimir el valor de la variable y me sale <undefined>. ¿Alguien me puede decir qué es lo que hago mal?

->root
|->boton_new
|->|->giro

Un saludo y gracias a todos.

Por jesss

7 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 Ene 2008 05:40 pm
Lo que pasa es que giro contiene la variable parar y cuando creas el nuevo boton le agregas giro como variable...
intenta imrpimiendo esto:

Código :

giro.parar=1;
boton_new.parar = 1

Por vcomics

217 de clabLevel



 

Medellin - Colombia

firefox
Citar            
MensajeEscrito el 28 Ene 2008 06:45 pm
Gracias por la contestación. Lo que he hecho, ha sido cambiar dentro de giro el acceso a la variable por _parent.parar dentro del if, así no hay problema de acceso. El problema ahora es que no consigo que me haga el salto boton_new.boton.gotoandPlay(3). También he probado por boton_new.gotoandPlay(3) , hasta llamándolo desde el _root.boton_new.boton.gotoandPlay(3) sin resultado. ¿Cómo tendría que hacerlo? En los ejemplos que he visto normalmente se accede a los contenedores separándolos por puntos, pero ni en el caso inicial de las variables, ni ahora en las llamadas a la función. ¿Se puede acceder al hijo, igual que se hace accediendo al padre con _parent? Es que no sé si se puede hacer lo mismo a la inversa.

Gracias por todo. Saludos.

Por jesss

7 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 Ene 2008 07:27 pm
Lo que pasa es que _parent te devuelve a el padre y si usas this. desde padre entonces podes ingresar a los hijos. Y normalmente los contenedores se separan por puntos(.). Eso de recurrir a _root. y recorrer desde cero los MC se vuelve realmente complicado, es mejor devolver un paso con _parent que tener que caminar desde el inicio varias veces.

Por vcomics

217 de clabLevel



 

Medellin - Colombia

firefox
Citar            
MensajeEscrito el 28 Ene 2008 08:26 pm
Gracias. Sí lo que buscaba era un _parent.hijo, o mejor dicho un this.hijo, pero igual no funcionaba de esa manera. La solución a la que acabo de llegar ahora es mediante onEnterFrame, tal como me ayudó un ejemplo vuestro para realizar botones animados.

En el clip del giro he puesto en el primer frame:

onEnterFrame=function()
{
if (_currentframe==35)
{
if (_parent.parar==1) {stop();}
else {
_parent.parar=0;
gotoAndPlay(3);
}
}

}
de esta manera sí me controla la película y desde el boton_new no tengo que llamar al gotoAndplay, sino solo cambiar el valor de parar, con boton_new.para.

Muchas gracias por vuestra ayuda.

Por jesss

7 de clabLevel



Genero:Masculino  

firefox

 

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