Computación II-JAVA Animación Objetivo de la Sesión • Aprender a implementar una animación (Juego), usando las clases Bitmap, Timer, y manejo de eventos del teclado. Animación • Es la sobreposición de imágener gráficas en la pantalla de un computador. • La animación se implementa con la sobreposición de una serie de imágenes lo suficientemente rápido, como para que los ojos vean movimiento continuo. • En JAVA podemos implementar una animación con Clases ya definidas como Bitmap, Timer y manejo de eventos con el teclado. La clase Bitmap • Es una clase que se encuentra en la librería Netscape.Aplication, la cual permmete manejar imágenes de tipo gif o jpg. • Como se utiliza la clase: – – – – Se Se Se Se crea un objeto Bitmap. le asigna un archivo .gif o .jpg. dibuja en pantalla. implementa el movimiento. La Clase Bitmap • Declarando un Bitmap Bitmap imagenCarrito; • Creando la imagen. ImagenCarrito=Bitmap.BitmapNamed(“car. gif”); • Se dibuja la imagen. g.drawBitmapAt(imagenCarrito,x,y) • Se implementa el movimiento. Implementación del Movimiento • Animación con Timer Es una clase que permite crear objetos que generan un evento cada cierto tiempo. Este evento periódico tipo “pulso de reloj” permite programar la animación de objetos, cada cierto intervalo de tiempo se le indica al objeto ya sea que dibuje una imagen diferente o que se mueva. • La acción de respuesta del evento se codifica en el procedimiento responde de proyecto.java. Implementación del Movimiento • Definición de un Objeto Timer Timer reloj; • Creación de un Objeto Timer reloj=defineTimer(“pulso”,50); Importante: Cuando se realiza la instrucción defineTimer, el timer ya queda activado Implementación del Movimiento • Animación con el Teclado A través de la clase KeyEvent, se pueden crear objetos que responden a un evento cuando alguna tecla es presionada. • La acción de respuesta del evento de una tecla se codifica en el procedimiento teclado, de proyecto.java. Implementación del Movimiento • Activación de eventos en teclas char FLECHA_ARRIBA = (char) KeyEvent.UP_ARROW_KEY; char FLECHA_ABAJO = (char) KeyEvent.DOWN_ARROW_KEY; char FLECHA_IZQUIERDA = (char) KeyEvent.LEFT_ARROW_KEY; char FLECHA_DERECHA = (char) KeyEvent.RIGHT_ARROW_KEY;