Unidad 18. Navegación - ActionScript (VIII)

Existen 2 ámbitos de variables: el local y el de línea de tiempo.

 

Las variables declaradas en la línea de tiempo pueden utilizarse en cualquier fotograma posterior y su contenido se mantendrá intacto.

Por ejemplo, declaramos la siguiente variable en el fotograma 1:

var miVariable:String = "Esta es mi variable";

Y en el fotograma 15 colocamos las siguientes líneas en el Panel Acciones:

trace(miVariable);

  stop();

Verás como al probar la película en el Panel de Salida aparece escrito el Esta es mi variable, que es el texto que le hemos dado.

Ten en cuenta que si declaras la variable en el fotograma 2 no estará disponible en fotogramas anteriores, es decir en el 1.

 

Las variables declaradas en un ámbito local sirven sólo para un bloque de función. Veamos este ejemplo:


var miVariable:String = "Esta es mi variable";

var miVariable2:String = "Esta también lo es";



function miFuncion() {

    var miVariable:Number = 1;

    trace(miVariable);

    trace(miVariable2);

    miVariable2 = "La cambio";

    var otraVariable:Number = 10;

    trace(otraVariable);

}



miFuncion();



trace(miVariable);

trace(miVariable2);

trace(otraVariable);

Antes de la función, en la línea de tiempo definimos dos variables miVariable y miVariable2.

Después definimos una funcióndefinimos una función (hablaremos de ellas más a fondo en el siguiente apartado).

En esta función se declara una variable (miVariable). Tiene el mismo nombre que la variable de la línea de tiempo, pero no es la misma variable, es local a la función. Si la enviamos al Panel Salida comprobaremos que muestra el valor asignado dentro de la función (1). En cambio, si dentro de la función mostramos el contenido de miVariable2, definida en la línea de tiempo veremos Esta también lo es que es su valor inicial, ya que no la hemos reemplazado por otra local que se llame igual. Lo modificamos. Por último, hemos declarado y mostrado una última variable local (otraVariable) con valor 10.

Recuerda que la función no se ejecutará hasta que no la llamemos, y es lo que hacemos en la siguiente línea después de definirla.

A continuación, en la línea de tiempo mostramos el contenido de miVariable, y comprobamos que muestra el valor inicial Esta es mi variable. La función no la ha alterado, ya que aunque compartían nombre, eran dos variables distintas.

En cambio al mostrar el valor de miVariable2 comprobamos que si que ha cambiado, mostrando La cambio. Como esta variable no es local a la función, si la alteramos si que cambia.

Por último mostramos el contenido de otraVariable. Como esta había sido definida dentro de la función, es una variable local, por lo que fuera de la función no existe, no está definida, por lo que muestra UNDEFINED.

 

Por tanto, las variables declaradas dentro de la función son locales, y sólo existen dentro de ésa función. Si dentro de una función queremos emplear una variable definida en la línea de tiempo, no debemos de definir una variable local con el mismo nombre.

 

Las variables de ámbito global serían aquellas accesibles indistintamente desde cualquier parte del proyecto, desde distintos MovieClips. En ActionScript 3 ya no se permite el uso de este tipo de variables, que en la versión anterior se hacía precediendo el nombre de la variable con _global.. No obstante, podemos simular variables globales creando una clase, como se explica en este avanzado Avanzado.

Pág. 18.8

Atrás  Inicio  Adelante





Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies


© aulaClic S.L. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.