Sei sulla pagina 1di 6

Programación Avanzada

Universidad del Aconcagua

Programación Avanzada
El Juego (parte 2)
Transformaciones y Colisiones

Esp. Ing. César Aranda


unidatos@gmail.com

Licenciatura en Informática y Desarrollo de Software


v.2014

Bucle de Juego Básico en Java


Manejan la Lógica de
Dominio del Juego.

Retardo o pausa para ajustar el GL


y/o los FPS del renderizado.

Ing. César Omar Aranda 2

Ing. César Omar Aranda 1


Programación Avanzada
Universidad del Aconcagua

Actualización de Datos
 Estado de los Objetos

 Parámetros de Despliegue Gráfico

Ing. César Omar Aranda 3

Posibles puntos de actualización

Ing. César Omar Aranda 4

Ing. César Omar Aranda 2


Programación Avanzada
Universidad del Aconcagua

Transformaciones: Fases de uso


1

Ing. César Omar Aranda 55

Detección y Gestión de Colisiones


 Surgen de las necesidades específicas del juego:
 Brindar realismo a las animaciones
 Satisfacer las reglas del juego

 Estrategias
 Colisiones en 2D
 Colisiones en 3D

 Requerimientos de los algoritmos


 Resolución de problemas geométricos
 Resolución de problemas físicos
 Manipulación de datos (generalmente puntuales)
 Manejo de Cuerpos Rígidos o Deformables

Ing. César Omar Aranda 6

Ing. César Omar Aranda 3


Programación Avanzada
Universidad del Aconcagua

Dinámica del Cuerpo Rígido


 Los objetos en la simulación obedecen las leyes del
movimiento de Newton. Así, no se tienen en cuenta
ningún tipo de efecto cuántico ni relativista.
 Todos los objetos que intervienen en la simulación son
perfectamente sólidos y no se deforman. Esto equivale a
afirmar que su forma es totalmente constante.

Ing. César Omar Aranda 7

Mecánica del Sólidos Deformables


 Se analizan las condiciones de deformación y
recuperación sufridas por los cuerpos “reales”.
 Requiere considerar:
 Ecuaciones de equilibrio: que relacionan tensiones internas del
sólido con las cargas aplicadas. Las ecuaciones de la estática
son deducibles de las ecuaciones de equilibrio.
 Ecuaciones constitutivas: que relacionan tensión y deformación,
y en las que pueden intervenir también otras magnitudes como
temperatura, velocidad de deformación, deformaciones plásticas
acumuladas, variables de endurecimiento, etc.
 Ecuaciones de compatibilidad: a partir de la cual pueden
calcularse los desplazamientos en función de las deformaciones
y las condiciones de contorno o enlace con el exterior.

Ing. César Omar Aranda 8

Ing. César Omar Aranda 4


Programación Avanzada
Universidad del Aconcagua

Motores de Simulación Física


 Detección de colisiones entre objetos dinámicos de la escena.
 Cálculo de líneas de visión y tiro parabólico (caso del lanzamiento
de proyectiles).
 Definición de geometría estática de la escena (cuerpos de colisión)
que formen el escenario del videojuego.
 Especificación de fuerzas (viento, rozamiento, gravedad, etc.).
 Simulación de destrucción de objetos.
 Definición de diversos tipos de articulaciones (bisagras, codo,
rodillas, ramas de árbol, etc).
 Especificación de diversos tipos de motores y elementos
generadores de fuerzas, así como simulación de elementos de
suspensión y muelles.
 Simulación de fluidos, telas y cuerpos blandos.
 Motores: Bullet, ODE, PhisX, Havok, …
Ing. César Omar Aranda 9

Sprite
 Un Sprite es cualquier objeto gráfico que aparece en la pantalla del
juego.
 Puede ser Sprite Estático o Sprite Animado
 Estrategias:
 Conjunto de archivos de imagen, cada una con una posición particular
 Un archivo de imagen, conteniendo los fotogramas que correspondan, como se
observa en las imágenes inferiores.

Ing. César Omar Aranda 10

Ing. César Omar Aranda 5


Programación Avanzada
Universidad del Aconcagua

Bibliografía
 Principal
 DEITEL, F. y DEITEL, H. (2008). Cómo programar en Java. 7ma edición. Capítulo 12.
México: Prentice Hall. Pearson Education.
 KNUDSEN, J. (1999). Java 2D Graphics. EEUU: O’Reilly y asociados.
 KLAWONN, F. (2008). Introduction to Computer Graphics, using Java 2D and 3D. Inglaterra:
Ed. Springler-Verlag.
 Referencias Complementarias
 http://www.java2s.com/Tutorial/Java/0261__2D-Graphics/Catalog0261__2D-Graphics.htm
 http://cnx.org/content/m44223/latest/
 http://javaparanulos.blogspot.com.ar/2012/11/animacion-de-imagenes-en-java.html
 http://www.aprendeaprogramar.com/mod/resource/view.php?id=177
 http://www.developer.com/java/other/article.php/893471/Fun-with-Java-Sprite-Animation-Part-
1.htm
 http://chuwiki.chuidiang.org/index.php?title=AffineTransform:_Rotaci%C3%B3n_de_un_gr%C
3%A1fico_o_imagen_en_java
 http://www.chuidiang.com/java/graficos/seno/seno.php
 http://www.binarykode.com/bdescargas/Manuales%20y%20Documentos/JAVA/Interfaces%2
0de%20Usuario/Tutorial%20JAVA%20avanzado%20(I)/gui/dibujo/uianimation.html

Ing. César Omar Aranda 11

Ing. César Omar Aranda 6

Potrebbero piacerti anche