Comunidad de diseño web y desarrollo en internet online

¿como pasar valor a variable en root?

Citar            
MensajeEscrito el 30 Sep 2009 03:20 pm
Hola a todos,
tengo una preguntita, me imagino que será una chorrada pero yo NO se la respuesta :) Tengo un juego con dos fotogramas, el el fotograma 1 está el juego en sí y el el fotograma 2 está un mensaje "the end".

En el segundo fotograma me cargo todo lo del primero, no queda nada, pero necesito algunos variables (nombre jugador, puntuacion, level...) para poder hacer una tabla de records. Tengo estas variables definidas en root pero no se como tengo que hacer desde los métodos de las clases para guardar datos en ellas.

He probado (desde un método de la clase de documento) a hacer

Código ActionScript :

root.puntuacion_global=puntuacion;


estando puntuacion_global en el TimeLine definido como

Código ActionScript :

var puntuacion_global:Number=0;



¿Como tengo que hacer para acceder a esas variables desde un método de una clase? No lo consigo ni con root.variable, ni con parent.variable ni nada que se me ocurra... :twisted:


Gracias!

Por torpedete

85 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Sep 2009 03:22 pm
Bueno, con MovieClip(root).puntuacion_global lo he conseguido!


Es esta la mejor opción o hay alguna otra mas "lógica"?

Por torpedete

85 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Sep 2009 04:14 pm
No hay ninguna más lógica. Te digo el motivo. El compilador de Flash sólo sabe de "root" que es un DisplayObject, así que mediante

Código ActionScript :

MovieClip(root)
//ó
(root as MovieClip)

Le decimos que root es, al menos un MovieClip.
Es algo de literatura pero va para allá: "Los únicos objetos en Flash que son clases dinámicas (esto es, no selladas) son Object y MovieClip"
Al decir que son dinámicas, queremos decir que podemos crear y referirnos a las variables que queramos
Decir que son selladas significa que sólo podemos acceder a sus "propiedades". Así, podríamos acceder a root.mouseX (puesto que "mouseX" es una propiedad de un DisplayObject)

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Oct 2009 07:14 am
OK, aunque me lía un poco el concepto de "clase sellada" y no me queda del todo claro, si que entiendo lo que me dices del root como mc, que realmente es lo importante en este caso.

Ahora que ya he acabado con lo que estaba, tengo un poco de tiempo para echarle un vistazo mas profundo a los libros que tengo, para ir asentando un poco los conceptos teóricos de este tipo.

Una vez mas, muchísimas gracias por tu respuesta y sobre todo por tu ayuda :)

Por torpedete

85 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 01 Oct 2009 07:30 am
Llops lo explica mucho mejor que yo en la segunda parte de su Artículo: "Programando en AS3 desde Flash CS3"
Los enlaces son: parte1, parte2 y parte3

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Oct 2009 07:39 am
ostia, pues mira que tengo esto en favoritos, la primera parte si que la he visto, tendré que echar un vistazo a las otras dos :)

Gracias una vez mas ;)

Por torpedete

85 de clabLevel



Genero:Masculino  

firefox

 

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