Make your own free website on Tripod.com
UtilizaciŪn de variables.
 
Las variables son elementos de programaciŪn que se crean para almacenar valores, ya sean n™meros enteros, fraccionarios, valores booleanos (true o false), o cadenas de texto (String).
Estas variables se almacenan en porciones de memoria del ordenador. Podemos pensar que el ordenador "recuerda" todas nuestras variables con su valor especifico.
Las variables se componen de dos partes:
nombre y valor.
El nombre de las variables no puede estar formado por frases compuestas del tipo: una variable, o empezar por un n™mero, como por ejemplo: 8numeros.
En Director podemos crear una variable simple por ejemplo asi:
set numeroCosas = 5 --(numero entero), o set nombreCosas = "Cuantas hay aqui". --(cadena de texto)
Las variables apenas nos servirian para nada si una vez creadas no pudiesemos manipular sus valores.
Una variable inicializada como: set cosas = 2, podemos aumentarla luego asi: set cosas = cosas + 5.
Tambien podemos realizar operaciones con mas de una variable a la vez:
set cosas1 = 2
set cosas2 = 3
set cuantasCosas = cosas1 + cosas2
o tambiČn:
set cuantasCosas = (cosas1 + cosas2) / 4
-- hemos sumado el valor de cosas1 y cosas2 y el resultado lo dividimos entre cuatro.
En las operaciones matem·ticas, los operadores entre parentesis son los que primero se eval™an y su valor luego es aŅadido a la siguiente operacion fuera de los parentesis. Esta es la jerarquia:
( (2+2) * 4) - 5
En este caso primero se suma 2+2, el valor resultante se multiplica por cuatro y a este valor final se le resta 5.
Ambito de las variables. (Variables locales y globales).
Si declaramos una variable dentro de un Handler mouseDown, por ejemplo:
on mouseDown
set cosas = cosas + 1
end
Esta variable no perdurar· fuera de este handler. Podemos realizar operaciones con ella en el ·mbito del handler mouseDown pero no podemos usarla en otra parte del programa. De igual modo en un Handler:
on exitFrame
set cosas = 7
end
Si hubieramos declarado la variable cosas en otra parte del programa obtendriamos un error, ya que Director no recuerda nada sobre esa variable. Asimismo tampoco podemos usar esta variable en otro handler o en otro cuadro e pelicula fuera del handler donde fuČ inicializada. En todos los lenguajes de programacion modernos esto se hace para permitir mayor flexibilidad en la asignacion de nombres a las variables. Una variable local asi, no crear· conflictos con otra variable del mismo nombre en otra parte del programa, aunque este procedimiento no es muy recomendable, ya que se puede prestar a confusiones del programador, para controlar con que variable esta trabajando. Estos ejemplos eran variables locales: definidas y con un ·mbito de vida restringido al handler donde fueron creadas.
Para tener variables perdurables en memoria durante todo el programa, usamos las variables globales.
Ejemplo de variable global:
global cosas
set cosas = 0

Esta variable la hemos declarado como global, por lo tanto permanecera en memoria hasta que apagemos el ordenador. Si por ejemplo queremos llevar la cuenta de los clics que hace el usuario con el ratŪn, podemos crear un Handler donde inicializar la variable global, como por ejemplo al comenzar la ejecuciŪn:

on startMovie
global numClics
set numClics = 0
end

Y establecer la cuenta de esta variable en otro handler mouseDown:

on mouseDown
global numClics
set numClics = numClics + 1
end
Asi podemos incluir en el handler una sentencia de comprobaciŪn para saber si el usuario ha pulsado el botŪn del ratŪn diez veces:
on mouseDown
global numClics
set numClics = numClics + 1
if ( numClics = 10 ) then
alert "has pulsado el ratŪn 10 veces"
end if
end
O llamar a esta variable desde otra parte del programa u otro Handler.
on exitFrame
global numClics
if ( numClics = 10 ) then
alert "has pulsado el ratŪn 10 veces"
end if
end

Este es el estilo de Director con las variables locales y globales.

Para destruir de la memoria las variables globales, por ejemplo al cerrar el programa, para liberar la memoria del ordenador, utilizamos la sentencia clearGlobals.