-
- 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.
-