Comunidad de diseño web y desarrollo en internet online

Leer variables desde clips

Citar            
MensajeEscrito el 12 Sep 2008 02:12 pm
Benos días a todos.

Tengo el siguiente inconvniente que no se como tratar en as3:

en el escenario principal cree un variable:

Código :

var tx1:String = "texto"

cree un clip de película y quiero que esta variable se pueda leer o modificar desde este clip.

Dentro del clip escrbí:

Código :

trace(tx1)

y el resultado es null.

Cuál es la causa de esto?, en as2 lo podía hacer empleando variables globales. Como puedo solucionarlo?????

Gracias.

Por charladito

26 de clabLevel



 

msie7
Citar            
MensajeEscrito el 12 Sep 2008 02:56 pm
Prueba

trace(root.tx1)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Sep 2008 03:09 pm
No me funciona, aparece el siguiente error:

1119: Acceso a una propiedad tx1 posiblemente no definida mediante una referencia con tipo estático flash.display:DisplayObject.

No reconoce la variable tx1 desde dentro del clip, no la puede leer. Necesito definirla como lo haciamos antes en as2 (_global)
pero no se como se hace en as3.Que puedo hacer?

Por charladito

26 de clabLevel



 

msie7
Citar            
MensajeEscrito el 12 Sep 2008 03:15 pm
Sácale el modo estricto, igual todavía no te ayudará. Para ello ve al menú archivo-> opciones de publicación->Flash Tab->AS3 settings y quita la casilla strict mode

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Sep 2008 03:24 pm
Gracias Jorge. funciona.
Pero quedo on la duda del error, pues no entindo por que?.
Estuve leyendo algo relacionado con singleton y variables estáticas, al parecer hace lo mismo que el _global de as2.

Por charladito

26 de clabLevel



 

msie7
Citar            
MensajeEscrito el 12 Sep 2008 04:07 pm
Ufff, vaya ensalada. Las variables globales se consideran una contaminación de encapsulamiento para el desarrollo OOP, singleton es un "design pattern" y las variables estáticas (o constantes) son miembros de una clase. No tienen que ver específicamente con el scope, pero no te desesperes y sigue leyendo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Sep 2008 02:53 pm
Es que _global es una maldición divina (que antes o después debía caer sobre quien lo usa)
Vale, fuera de bromas. Cuando escribes

Código :

var tx1:String = "texto"

en la Clase del documento (perdón por ser tan redicho) o en la película principal, la variable "pertenece" a la película principal.
Si escribimos en la Clase a la que pertenece un MC (vaaale, en un frame del MC)

Código :

trace(txt1)

Flash SIEMPRE mostrará el valor de la variable "txt1" que "pertenece" al MC, que, al no estar definida, saldrá "undefined".
Para referirnos a una variable de la película principal desde un MC, deberíamos anteponer la palabra clave "parent". Lo que ocurre es que parent precisa una "conversión de cast"

Código :

trace(parent.txt1) //<--dará error, precisa la "conversión de cast"
trace(MovieClip(parent).txt1) //<--Ahora sí -espero-

Vale, bien es cierto que en OOP no parece muy correcto que un objeto dependa de una variable que sea externa a ese objeto. Se suele hacer que todas las variables que necesite pertenezcan a dicho objeto, pero eso ya es otra cosa

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Ago 2011 10:11 pm
Interesante y como hago para leer desde la película principal una variable que esta en un MC?

Gracias

Por BrianRebolledo

1 de clabLevel



 

chrome

 

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