Animacion usando control ImageList
14.03.2013 01:54
Hola !
Bueno pues aqui veremos una tecnica para crear animaciones simples en visual basic usando un control llamado ImageList, el cual con combinacion con un Timer y un Image nos servira para crear el aleteo en un dibujo de una mosca que es el caso que usaremos en nuestro ejemplo. Igual lo podemos usar para darle movimiento a otro tipo de dibujos por ejemplo el caminado en un personaje etc.
Para empezar en un nuevo proyecto .exe agregaremos los controles necesarios , 1 Timer , 1 Image y 1 ImageList, este ultimo no sale por defecto en nuestra barra de controles asi que sera necesario agregarlo, es muy sencillo , nos vamos a Proyecto en nuestro menu su6, y ahi damos click en Componentes... , despues en la ventana que nos abre , buscaremos Microsoft Windows Common Controls 6.0 y la seleccionamos y marcamos la casilla y le damos click en el boton Aceptar y listo , nos apareceran nuevos controles en la barra de controles a la izquierda en nuestro visual basic , y entre ellos estara el control ImageList.(ver imagenes 1 , 2 y 3)
Imagen 1
Imagen 2
Imagen 3
Una ves tengamos esto hecho , podremos continuar.
Modificaremos las propiedades de nuestros controles para que el efecto se vea mejor.
Timer : Interval = 50
Image : Strech = True , Picture = imagen base
Y a nuestro ImageList le modificaremos las propiedades dando click en él, con el boton derecho del mouse, y luego damos click en Propiedades, en la ventana que se nos abre vamos a elegir la pestaña Images, y ahi daremos click en el boton Insert Picture... , esto nos abra una ventana en donde buscaremos nuestro archivo de imagen que usaremos y lo seleccionamos y le damos click en el boton aceptar, este paso lo repetiremos hasta que terminemos de agregar todas las imagenes que usaremos en nuestra animacion, en nuestro caso de ejemplo solo usaremos 2 imagenes. Una vez tengamos la o las imagenes cargadas , nos las mostrara en una especie de lista y con un numero de index que se asignara automaticamente conforme las vallamos agregando y que le dara para distinguir las imagenes unas de otras cuando querramos llamarlas de nuestro ImageList, listo ahora solo damos click en Aceptar, y ya tenemos nuestro ImageList cargado con imagenes para poder usar en nuestro proyecto. (ver imagen pasos)
Imagen pasos
Ahora si el Codigo.
Primero crearemos una variable del tipo integer que usaremos como numero index despues. La llamaremos Numero pero ustedes podran llamarla como quieran.
Dim Numero as Integer
Ahora crearemos una funcion que nos hara cambiar la imagen de nuestro control Image al ser llamada , tomando esta imagen de nuestro ImageList y seleccionandola con su numero de index que estara cambiando cada vez que nuestra funcion sea llamada, gracias a un codigo que usaremos combinao con nuestra variable que nos hemos creado. La funcion la llamare Aleteo pero ustedes podran llamarla como gusten.
Private Sub Aleteo ()
If Numero = 1 then
Numero =2
else
Numero = 1
End if
Image1.Picture = Imagelist.ListImages(Numero).Picture
End Sub
Por ultimo solo nos queda hacer que esta funcion sea llamada cada cierto tiempo para que nuestra imagen pueda tener el efecto de movimiento que queremos, y como lograremos esto, pues sencillo , con nuestro Timer.
Listo ! Ahora si ejecutamos el programa tendremos un efecto de movimiento , aleteo en nuestro ejemplo.
Espero que les sirva y recuerden dar Like y Suscribirse en nuestro canal de you tube y agreganos en Facebook Creando con Vb6
Ve el video mas abajo !!!
———
Volver