Proyecto de animación para la materia Programación I de Ingeniería Informática
Universidad Nacional de Itapúa - Facultad de Ingeniería
ITsOVER es un proyecto de animación desarrollado en Java utilizando la librería gráfica UWCSE. El proyecto simula el "avance de una película" a través de múltiples escenas animadas que se reproducen secuencialmente.
Este proyecto fue desarrollado como parte del curso de Programación I, con el objetivo de poner en práctica los conceptos de Programación Orientada a Objetos, incluyendo:
- Definición de clases y métodos
- Herencia y encapsulamiento
- Reutilización de código
- Gestión de Javadoc
- Múltiples escenas animadas: El proyecto incluye varias escenas (Escena1 a Escena9) que se reproducen secuencialmente
- Objetos complejos animados: Elementos compuestos por múltiples figuras geométricas
- Sistema de reproducción personalizado: Clase
Reproductorque maneja la secuencia de escenas - Sistema GIF personalizado: Implementación de un reproductor de secuencias de imágenes
- Extracción automatizada de frames: Utilización de script Python personalizado para extraer frames de videos/GIFs y organizarlos para el proyecto. Acá el repositorio click
- Elementos fijos y móviles: Combinación de paisajes estáticos y objetos en movimiento
- Audio integrado: Archivos de música
ITsOVER/
├── src/
│ ├── imagenes/ # Recursos gráficos
│ │ ├── boxeo/ # Secuencia de imágenes para animación tipo GIF
│ │ ├── part1/ # Imágenes para diferentes partes
│ │ ├── part2/
│ │ └── part3/
│ ├── musica/ # Archivos de audio
│ └── itsover/ # Código fuente principal
│ ├── ITsOVER.java # Clase principal
│ ├── Reproductor.java # Control de reproducción de escenas
│ ├── Escena1.java # Primera escena
│ ├── Escena2.java # Segunda escena
│ ├── ... # Escenas adicionales
│ ├── Dialogo.java # Manejo de diálogos
│ ├── Musica.java # Control de audio
│ └── [otros componentes]
├── lib/
│ └── uwcse.jar # Librería gráfica requerida
└── README.md
- Java Development Kit (JDK) 8 o superior
- IDE compatible con Java (NetBeans, Eclipse, IntelliJ IDEA, etc.)
- Librería UWCSE (incluida en el proyecto como
uwcse.jar)
-
Clonar el repositorio
git clone [URL-del-repositorio] cd ITsOVER -
Configurar la librería UWCSE
- Asegúrate de que el archivo
uwcse.jaresté en la carpetalib/ - Agrega la librería al classpath de tu proyecto en tu IDE
- Asegúrate de que el archivo
-
Ejecutar el proyecto
- Abrir el proyecto en tu IDE preferido
- Ejecutar la clase principal
ITsOVER.java - La animación se iniciará automáticamente en una ventana de 1900x680 píxeles
Una vez ejecutado el programa:
- Se abrirá una ventana gráfica mostrando la animación
- Las escenas se reproducirán automáticamente en secuencia
- La animación incluye elementos móviles que se desplazan por la pantalla
- El audio se reproduce sincronizado con las escenas
- Java: Lenguaje de programación principal
- UWCSE Graphics Library: Librería gráfica para la renderización
- NetBeans IDE: Entorno de desarrollo utilizado
- Encapsulamiento: Cada escena y componente está encapsulado en su propia clase
- Herencia: Reutilización de código entre componentes similares
- Polimorfismo: Diferentes implementaciones para elementos gráficos
- Modularidad: Separación clara de responsabilidades entre clases
- Sistema GIF avanzado: Reproductor personalizado que maneja más de 1000 frames individuales organizados secuencialmente
- Workflow de desarrollo automatizado:
- Script Python personalizado para extraer frames de videos/GIFs
- Enumeración automática y organización de frames
- Integración seamless con el sistema de carga de la aplicación Java
- Optimización de recursos:
- Redimensionamiento dinámico de imágenes según el tamaño de ventana
- Centrado automático de frames
- Control preciso de timing con
TimeryTimerTask
- Control de reproducción: Sistema de repeticiones y pausa programable
Este proyecto va más allá de los requisitos básicos del curso, implementando soluciones técnicas avanzadas:
- Más de 1000 frames procesados: Manejo de una cantidad masiva de recursos gráficos de forma eficiente
- Automatización con Python: Desarrollo de herramientas auxiliares para optimizar el workflow de desarrollo
- Optimización de performance: Sistema de carga y reproducción optimizado para manejar grandes cantidades de imágenes
- Integración multimedia: Sincronización perfecta entre elementos visuales y sonoros
- Reutilización inteligente: Arquitectura modular que permite fácil mantenimiento y escalabilidad
Este proyecto fue desarrollado con fines educativos como parte del curso de Programación I en la Universidad Nacional de Itapúa.