Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: SKoN en 12 de Diciembre de 2002, 05:40:48 PM

Título: colisiones en un juego de naves
Publicado por: SKoN en 12 de Diciembre de 2002, 05:40:48 PM
                                Hola buenas,

Estoy empezando con esto del DX y tengo pensado hacer un juego de naves, siguo los tutoriales de http://www.andypike.com/tutorials/directx8/
Bueno he llegado al tuto 10 sobre la carga de .X, he pensado en usar dos naves para probar cosas, y no tengo ni idea de como detectar cuando colisionan :/ y cuando use sprites para los disparos tampoco se como detectar las colisiones para provocar los impactos, etc he estado mirando por flipcode y gamedev pero no se que buscar exactamente que me sirva o si las DX tienen alguna clase ya para estas cosas :/ (imagino que no)

Aver si me podeis hechar una manita con alguna explicacion o link :)

Un saludo                                
Título: colisiones en un juego de naves
Publicado por: deadLock++ en 12 de Diciembre de 2002, 06:14:11 PM
                                La manera mas sencilla de realizar el chequeo de colisiones es por círculos (o por esferas si es 3d).

En sí, tú tienes la posición de cada sprite y su tamaño. Luego para saber si dos sprites están colisionando debes verificar si la distancia entra ambos (a sus centros) es menor a la suma de sus radios (El radio es el ancho (o alto) del sprite dividido dos).

Es un método trivial que se adapta bien a muchos casos. Sin embargo puede no ser muy preciso para el juego que quieres hacer.

Saludos.

deadLock++                                
Título: colisiones en un juego de naves
Publicado por: sés en 12 de Diciembre de 2002, 09:23:29 PM
                                Si es 2D, sin duda por rectángulos. La mayoría de las veces, para un juego de naves (depende de la complejidad del sprite), con unos pocos rectángulos basta.                                
Título: colisiones en un juego de naves
Publicado por: Loover en 12 de Diciembre de 2002, 11:39:44 PM
                                ¿Y que pasa si el sprite es de 20x 200? Sacale el radio a eso :P
O una imagen de un donut y otra imagen dentro de un cuadrado ¿cómo saber si colisiona el cuadrado dentro del donut?
La colisión por pixel, aunque muy costosa, es a veces la única solución.                                
Título: colisiones en un juego de naves
Publicado por: SKoN en 13 de Diciembre de 2002, 12:54:37 AM
                                la idea es cargar la nave que sea un .x y las naves enemigas tmb y los disparos sprites

seria aconsejable usar BB ? si es asi me pongo a la obra ahora mismo :)

gracias por las respuestas                                
Título: colisiones en un juego de naves
Publicado por: Lord Trancos en 13 de Diciembre de 2002, 08:25:13 PM
                                te recomiendo q revises posts anteriores en estos mismos foros q trataban el tema de las colisiones,... ya q aunque detectar si dos objetos interseccionan es relativamente facil,.... detectar si colisionan (interseccion durante un periodo de tiempo) no es tan facil....                                
Título: pozi
Publicado por: SKoN en 30 de Diciembre de 2002, 02:51:35 AM
                                toy usando el bounding sphere y va bastante bien pa lo que hago

http://www.gamedev.net/reference/programmi...ere/default.asp

gracias por la ayuda :)