Comunidad de diseño web y desarrollo en internet online

error 1120

Citar            
MensajeEscrito el 18 Jun 2012 12:13 pm
Hola,
no se me ocurre cómo solucionar el siguiente problema:

tengo un botón que al pulsarlo carga un clase (.as).

Código ActionScript :

btn.addEventListener(MouseEvent.CLICK,fun1);
function fun1(event:MouseEvent)
{
   var c:comparar= new comparar();
}

Lo que hace esta función es que los dos siguientes clicks que haga sobre botones se me guardan en dos variables y las compara.
Si son iguales la variable a=true si son diferentes a=false.

Mi problema está en llamar a la variable a para saber su valor.
De normal no habria problema en verlo de la siguiente forma:

Código ActionScript :

trace(c.a);

sin embargo, si pongo este comando me da error 1120:Acceso a una propiedad c no definida.porque he cargado c dentro de fun1.

no puedo cargar la clase c fuera de la función fun1 porque no quiero que siempre compare. y tampoco puedo sacar el valor de la variable a dentro de la función fun1 porq todavia no se sabe el resultado de la comparación.

¿Alguna idea?
Gracias de antemano

Por aran89

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 18 Jun 2012 01:26 pm
¿Es necesario crear una clase para comparar dos booleanos? El problema es de scope: algo definido dentro de una función no es visible fuera de ella

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Jun 2012 03:52 pm
Según la estructura que he decidido hacer si es necesario....

Otra forma que se me ocurre para solucionarlo, aunque no sea la mejor e incluso sea un poco chapucera, es mostrar un mc en el stage con la solución. Así, si son iguales hacer un addChild(mc_iguales) y si son diferentes addChild(mc_diferentes).

Luego (no sé cómo se haría). Pero bastaría con saber cuál de los dos mc está en el stage.
Sería posible saber esto último? Quizás con:

Código ActionScript :

getChildByName(Ganador) as MovieClip

¿? ¿Se puede hacer?

Por aran89

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 18 Jun 2012 03:57 pm
No entiendo lo que necesitas hacer. ¿Comparar dos MovieClips?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Jun 2012 04:28 pm
En cierta manera si... aunque tengo que comparar las propiedades de dos mc.
1º indico que quiero comparar. para ello presiono el btn.
2º presiono sobre los 2 mc que quiero comparar.
3º la clase compara si son iguales (sus propiedades asociadas)
4º obtengo la solución.
en este ultimo paso es donde tengo el problema.. :s
he conseguido mostrar la solución en stage, pero no la he guardado en ninguna variable. y deseo hacerlo para usarlo más tarde.
Espero que así quede claro.

Por aran89

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 18 Jun 2012 04:50 pm
Guardalo en el document class o en la clase que maneje las instancias en Stage. Si usas clases y un enfoque OOP, ver que clase esta en el escenario es ineficiente

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Jun 2012 05:28 pm
ok, intentare d la otra forma.
de todas formas me puedes decir cómo saber si hay un mc en el stage? sabiendo su nombre.
Muchas gracias por todo Jorge.

Por aran89

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 18 Jun 2012 05:29 pm
getChildByName, te da una referencia o nulo en caso de que no exista

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Jun 2012 05:31 pm
Ok, muchas gracias! pensaba que si no existía daba error.
Mil gracias por todo!

Por aran89

21 de clabLevel



 

chrome

 

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