Skip to content

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.

Notifications You must be signed in to change notification settings

JonaVicesar/Animation-Project-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ITsOVER - Proyecto de Animación

Proyecto de animación para la materia Programación I de Ingeniería Informática
Universidad Nacional de Itapúa - Facultad de Ingeniería

Descripción

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

Características

  • 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 Reproductor que 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

Estructura del Proyecto

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

🚀 Instalación y Ejecución

Prerrequisitos

  • 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)

Pasos para ejecutar

  1. Clonar el repositorio

    git clone [URL-del-repositorio]
    cd ITsOVER
  2. Configurar la librería UWCSE

    • Asegúrate de que el archivo uwcse.jar esté en la carpeta lib/
    • Agrega la librería al classpath de tu proyecto en tu IDE
  3. 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

Cómo usar

Una vez ejecutado el programa:

  1. Se abrirá una ventana gráfica mostrando la animación
  2. Las escenas se reproducirán automáticamente en secuencia
  3. La animación incluye elementos móviles que se desplazan por la pantalla
  4. El audio se reproduce sincronizado con las escenas

Tecnologías Utilizadas

  • Java: Lenguaje de programación principal
  • UWCSE Graphics Library: Librería gráfica para la renderización
  • NetBeans IDE: Entorno de desarrollo utilizado

Conceptos de POO Implementados

  • 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

Características Técnicas Destacadas

  • 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 Timer y TimerTask
  • Control de reproducción: Sistema de repeticiones y pausa programable

🏆 Logros Técnicos del Proyecto

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.


About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages