Mini colección de ejemplos en Java para aprender a mover, pintar y manejar eventos en ventanas.
Descripción:: Pequeños programas independientes que muestran animaciones, manejo de teclado, dibujo y trabajo con imágenes para que puedas implementarlas en tus videojuegos con Java.
Requisitos:: Java JDK 21 (Eclipse Adoptium) recomendado; el proyecto fue probado con JDK 21. Un IDE como Eclipse o ejecución desde línea de comandos usando la carpeta bin ya compilada.
Estructura del proyecto:
- src: código fuente Java organizado por paquetes (p. ej.
animacionBola,disparar,pintar,ventana, ...). - bin: clases compiladas (útil para ejecutar directamente sin recompilar).
Descripción de cada archivo:
Ventana básica que muestra cómo crear un JFrame y dibujar figuras geométricas simples (rectángulo, óvalo, rectángulo redondeado) con diferentes colores usando el método paint(). Introduce los conceptos fundamentales de Swing y Graphics.
Demuestra cómo mostrar texto en una ventana con diferentes fuentes (Comic Sans MS y Arial), estilos (negrita, cursiva) y colores. Muestra mensajes de bienvenida personalizados.
Animación de texto que se desplaza horizontalmente por la pantalla usando hilos (Thread) y doble buffer para evitar parpadeos. El texto "Texto en Movimiento" se mueve continuamente de izquierda a derecha con anti-aliasing.
Dibuja una carita (emoji) usando figuras geométricas básicas: óvalos para la cara, ojos y boca con diferentes colores. Ejemplo simple de cómo combinar formas para crear gráficos.
Aplicación interactiva que permite "pintar" en la ventana siguiendo el movimiento del mouse. Implementa MouseMotionListener para capturar las coordenadas del cursor y dibujar círculos negros pequeños.
Ejemplo básico de cómo cargar y mostrar una imagen (Duke256.png) en una ventana usando ImageIO. Incluye manejo de errores si la imagen no se puede cargar.
Animación de una imagen (Duke) que se mueve automáticamente en diagonal por la pantalla. Utiliza hilos y doble buffer (double buffering) para una animación fluida. Demuestra el sistema de coordenadas de Java (Y negativo va hacia arriba).
Simulación de una bola (imagen de Eclipse) que rebota por los bordes de la ventana. Implementa física simple de rebote detectando colisiones con los límites de la pantalla y cambiando la dirección del movimiento.
Control de un personaje (Duke) usando las teclas de flecha. Implementa KeyListener para detectar las pulsaciones del teclado y mover la imagen en las cuatro direcciones (arriba, abajo, izquierda, derecha).
Juego simple donde Duke puede disparar un proyectil (bola) al presionar cualquier tecla. Combina animación con hilos y manejo de eventos del teclado para crear una interacción básica de disparo.