Introducci髇 a Lingo. Estructuras de control If y Case

13 de noviembre de 2007
Valoraci贸n del art铆culo:
El control de las estructuras como if y case que vamos a ver en 閟te cap韙ulo de Macromedia Director nos permite modificar el flujo de un programa.
Atenci髇: Contenido exclusivo de DesarrolloMultimedia.es. No reproducir. Copyright.

Hasta ahora, el flujo de un programa empezaba en la parte superior del mismo y avanzaba linealmente hasta la inferior. Por medio de estructuras de control podemos modificar este flujo de ejecuci贸n.

Estructuras if.

Por medio de estas estructuras podemos modificar el flujo de ejecuci贸n bas谩ndonos en una serie de condiciones. Las diferentes formas que puede presentar son las siguientes:

If condicion then
sentencias
end if

If condicion then
sentencias
else
sentencias
end if

If condicion then
sentencias
else if condicion then
sentencias
end if


Declaraciones case.

Al igual que las sentencias if .. else, nos permite tomar decisiones l贸gicas mientras ejecutamos una serie de condiciones. La sintaxis de este tipo de declaraci贸n es la que se muestra a continuaci贸n:

case (expression) of
valor_expresion1:
sentencias1
valor_expresion2:
sentencias2
............
valor_expresionn:
sentenciasn
end case

case (expression) of
valor_expresion1:
sentencias1
valor_expresion2:
sentencias2
............
valor_expresionn:
sentenciasn
otherwise
sentencias
end case


Vamos a ver un ejemplo: Supongamos que queremos mover la imagen que aparece en la figura siguiente mediante la pulsaci贸n de las teclas siguientes: J (izquierda), K (derecha), U (arriba) y N (abajo).

Imagen est醫ica del bal髇


Para ello utilizamos el evento KeyDown que se dispara cada vez que pulsamos una tecla. La soluci贸n utilizando estructuras if podr铆a ser la siguiente:

if the key = "J" then
set h = the locH of sprite 1
set the locH of sprite 1 to H -10麓
updatestage

else if the key = "K" then
set h = the locH of sprite 1
set the locH of sprite 1 to H +10
updatestage

else if the key = "U" then
set V = the locV of sprite 1
set the locV of sprite 1 to V -10
updatestage

else if the key = "N" then
set V = the locV of sprite 1
set the locV of sprite 1 to V +10
updatestage

end if


La soluci贸n utilizando estructuras case podr铆a ser la siguiente:

case the key of
"J":set h = the locH of sprite 1 set the locH of sprite 1 to H -10 updatestage
"K":set h = the locH of sprite 1 set the locH of sprite 1 to H +10 updatestage
"U":set V = the locV of sprite 1 set the locV of sprite 1 to V -10 updatestage
"N":set V = the locV of sprite 1 set the locV of sprite 1 to V +10 updatestage
otherwise:put 聯No has pulsado una tecla correcta) into mensaje updatestage end case


Comentarios

Los comentarios de los visitantes son para ampliar la
informaci贸n del art铆culo. Cualquiera puede participar.

Añadir un comentario al artículo Publicar un comentario del artículo

Se muestra un comentario revisado

 pregunta
09/10/08 

Comentario de jose castillo:

trato de ejcutar el codigo presentado con el balon, me manda un mensaje de error respecto a la definicion de la variable J, como puedo hacer para corregir este error, agradeceria me respondieran esta inquietud...

Desarrollo Multimedia:

No debes tener definida la variable J. Prueba esto:

Global J




El autor
Juan Ignacio Rodr韌uez Navarro
Equipo de desarrollomultimedia.es
Manuales
Categor铆as

Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo econ贸mico...