![]() |
|||||
|
ACTIVAR EL GIF ANIMADO: EL OVNI GIRA SOBRE SI MISMO También
podemos definir una variable que permita guardar varios valores de un
determinado tipo al mismo tiempo, es como un casillero en el que cada casilla
guarda un valor en un instante dado. Program Ovni Method cargarOvni() LoadSprite("OVNI", "OVNI.gif") MoveSpriteToPoint("OVNI", 50, 50) ShowSprite("OVNI") End
Method Method cargarOvni() Define TiempoImagen
As Int[6] = {40, 40,
40, 40, 40, 40} SetSpriteAnimationTimeline("OVNI", True,
TiempoImagen) MoveSpriteBy("OVNI", 1, 0) Delay(10) End End
Method End Program
En este
programa la instrucción Define
TiempoImagen As Int[6] = {40, 40, 40, 40, 40, 40} define la variable llamada TiempoImagen que
almacena seis valores enteros, uno en cada una de sus casillas. Para asignar un valor diferente a
40 en alguna de las posiciones del casillero, por ejemplo asignar 100 en la
primera posición, damos la instrucción TiempoImagen[1]
= 100. Recuerde que
el archivo OVNI.gif tiene seis imágenes, cada una con el ovni en una posición
diferente. Si pasamos estas seis imágenes en secuencia a la velocidad apropiada,
tendremos animación del ovni girando. El método SetSpriteAnimationTimeline("OVNI", True, LineaTiempo)hace girar al ovni, pasando la
secuencia de las seis imágenes y mostrando cada imágen el tiempo en
milisegundos dado en la
variable LineaTiempo. El primer valor de esta variable define la cantidad de
tiempo en milisegundos que se muestra la primera imagen, el segundo valor
define la cantidad de tiempo en milisegundos que muestra la segunda imagen,
etc. En este caso definimos 40 milisegundos para cada una de las imágenes, lo
que quiere decir que muestra las 6 imágenes en 240 milisegundos. La palabra True le dice al computador que repita todo el tiempo
esta animación mientras dura la ejecución del programa. Si colocamos False en lugar de True,
el computador ejecuta la animación de giro solo una vez. Este programa nos
muestra dos animaciones, una en el movimiento rectilíneo y otra en el giro del
ovni alrededor de un eje vertical que pasa por su centro. MOVER EL OVNI
CON LAS TECLAS
DE FLECHA Program Ovni Define posX As Int = 50 Define posY As Int = 50 Define incX As Int = 1 Define incY As Int = 1 Method cargarOvni() LoadSprite("OVNI", "OVNI.gif") MoveSpriteToPoint("OVNI", posX,
posY) Define TiempoImagen
As Int[6] = {40, 40,
40, 40, 40, 40} SetSpriteAnimationTimeline("OVNI", True,
TiempoImagen) ShowSprite("OVNI") End Method Method tecla() If IsKeyDown("UP") And posY > 0Then posY = posY - incY End If If IsKeyDown("Down") And posy < ScreenHeight()
- GetSpriteHeight("OVNI") Then posY = posY + incY End If If IsKeyDown("Right") And posX < ScreenWidth()
- GetSpriteWidth("OVNI") Then posX = posX + incX End If If IsKeyDown("Left") And posX > 0 Then posX = posX - incX End If MoveSpriteToPoint("OVNI", posX,
posY) End Method Method cargarOvni() tecla() Delay(10) End End Method End Program Las
variables definidas al comienzo del programa pueden ser utilizadas por
cualquiera de los métodos, por eso se llaman variables globales; por el
contrario, las variables definidas dentro de un método son llamadas variables
locales, pues solo se pueden utilizar dentro del método. Este programa define
cuatro variables globales que pueden ser utilizadas por cualquiera de los
métodos del programa. El programa
permite mover el ovni con las teclas de fecha sin salirse de la pantalla utilizando
la instrucción condicional If. El método tecla( ) valida si la tecla oprimida es flecha hacia arriba
y si la posición en Y es mayor que cero, si estas dos condiciones se cumplen disminuye
la posición en Y en el valor que tenga la variable incY. Luego valida si la
tecla que se oprimió es flecha hacia abajo y si la posición en Y es menor que
el alto de la pantalla menos el alto del ovni, si estas dos condiciones se
cumplen incrementa la posición en Y en el valor que tenga la variable incY.
Luego valida si la tecla oprimida es flecha derecha y la posición en X es menor
que el ancho de la pantalla menos el ancho del ovni, si estas dos condiciones se
cumplen incrementa la posición en X en el valor que tenga la variable incX. Luego
valida si tecla oprimida es flecha izquierda y la posición en X es mayor que
cero, si las dos condiciones se cumplen disminuye la posición X en el valor que
tenga la variable incX. Por último, mueve el ovni a la posición actualizada. El método Main( ) invoca el método cargarOvni( ) y luego entra en un
ciclo repetitivo con dos instrucciones: invocar el método tecla( ) que valida la
tecla digitada y detener el programa 10 milisegundos. El computador tarda
alrededor de 3 minutos en ejecutar estas dos instrucciones 10000 veces, esto
permite mover el ovni durante este lapso de tiempo. Puede cambiar los valores
de incX, incY, el número de repeticiones y la cantidad de milisegundos que el
computador se detiene en cada repetición. Cambie un parámetro a la vez, ejecute
el programa y observe el cambio.
|
|||||
|
|||||
![]() |
|||||