¿colisiones?

Tratamos sobre el manejo de APIs frecuentemente utilizadas en el desarrollo de videojuegos, como SDL, pygame o SFML.

¿colisiones?

Notapor blogmaster765 » Dom Sep 19, 2010 4:10 am

queria saber cuales eran las distintas formas para comprobar colisiones yo he estado utilizando la formula matematica que compara las pociciones de los vertices de dos 2 cuadrados .
bueno lo que yo estoy buscando es por ejemplo creo una pista de autos y quiero que el auto colisione cuando intente salir de la ruta considerando que la pista no tenga una figura primitiva(rectangulo,circulo.etc) alguna propuesta.....
Avatar de Usuario
blogmaster765
 
Mensajes: 6
Registrado: Mar Sep 14, 2010 3:32 am

Re: ¿colisiones?

Notapor adrigm77 » Dom Sep 19, 2010 7:00 pm

Normalmente los sprites suelen tener asociado un rect que es un rectángulo del tamaño del sprite que sirve para comprobar las colisiones, ejemplo, si algún área de ese rect está en contacto con el área de otro rect es que están colisionando, para saber en que parte justo están colisionando y tener más presición puedes usar máscaras. Yo no las he usado así que no te puedo ayudar con ellas.
Razón Artificial - La ciencia y el arte de crear videojuegos.
Avatar de Usuario
adrigm77
 
Mensajes: 43
Registrado: Dom Jul 25, 2010 8:03 pm
Ubicación: Las Palmas de Gran Canaria, España

Re: ¿colisiones?

Notapor carlostex » Lun Sep 20, 2010 12:52 am

Bueno todo lo que ves en el motitor esta hecho de formas primitivas, y las mas pequeña es un pixel que es cuadrado, la idea es usar mascaras, con una buena resolucion que paresca curva pero que no reste velocidad, la idea principal que yo he usado es asociar un conjuno de puntos a una imagen, si la imagen es curva como en una buelta pues pones hay mas puntos, la union entre los puntos puede ser una recta, eso es por que es mas facil calcular si dos rectas colicionan, sin embargo puedes usar en algunas partes curvas, para detectar la colicion es lo mismo, pero nececitas describir muy bien la curva con una ecuacion, en libros de geometria te puedes inspirar. si quieres te puedo pasar mi condigo de como tengo implementado las coliciones.
El conocimiento de unos es conocimiento de todos.
Avatar de Usuario
carlostex
 
Mensajes: 249
Registrado: Mar Jul 14, 2009 4:13 am
Ubicación: mexico

Re: ¿colisiones?

Notapor blogmaster765 » Lun Sep 20, 2010 3:25 am

si estaria bueno ver tu codigo carlos aunque en la geometria nunca fui muy bueno pero tendre que hacerme bueno a la fuerza y con respecto a lo que dice adrigm77 es la misma formula que estado utilizando que compara los vertices de dos rectangulos o cuadrados
Avatar de Usuario
blogmaster765
 
Mensajes: 6
Registrado: Mar Sep 14, 2010 3:32 am

Re: ¿colisiones?

Notapor carlostex » Lun Sep 20, 2010 3:54 am

OK,ese codigo es parte de un motor que estoy desarrollando, lo puedes descargar desde sourceforge con este comando:

svn co https://tank-war.svn.sourceforge.net/svnroot/tank-war tank-war

En cuanto tenga tiempo, te explico mejor por si tienes dudas, esta implementado en los archivos: object.h que es usado por entity_base.h, la clase object depende de declaraciones hechas en geometry.h y math_extra.h
El conocimiento de unos es conocimiento de todos.
Avatar de Usuario
carlostex
 
Mensajes: 249
Registrado: Mar Jul 14, 2009 4:13 am
Ubicación: mexico

Re: ¿colisiones?

Notapor baigos » Lun Oct 04, 2010 1:53 am

en la pagina de lazy foo hay muy buenos tutoriales sobre colisiones:
http://www.lazyfoo.net/SDL_tutorials/

y sino podes usar SGE, que es un framework para sdl que simplifica ese tipo de cosas. El road fighter remake usa esa libreria.

http://www.digitalfanatics.org/cal/sge/
El sitio de videojuegos del nordeste argentino:
www.arcadenea.com.ar
baigos
 
Mensajes: 27
Registrado: Dom Oct 03, 2010 5:51 am

Re: ¿colisiones?

Notapor blogmaster765 » Lun Oct 04, 2010 3:49 am

gracias ahi paso por halli y me fijo
Avatar de Usuario
blogmaster765
 
Mensajes: 6
Registrado: Mar Sep 14, 2010 3:32 am

Re: ¿colisiones?

Notapor endaramiz » Mar Nov 30, 2010 2:30 pm

Para colisiones con el mapa (ya sea "zona lenta" o obstáculos) usaría una matriz de valores. Un valor por cada pixel o por cada tile dependiendo del detalle del juego.

Pero para colisión coche a coche, probaría de usar esto:
http://www.gamedev.net/reference/progra ... Collision/

Saludos.
Avatar de Usuario
endaramiz
 
Mensajes: 283
Registrado: Vie Ago 31, 2007 9:25 am
Ubicación: Barcelona


Volver a Sobre las bibliotecas multimedia

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado