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
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++
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.
¿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.
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
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....
toy usando el bounding sphere y va bastante bien pa lo que hago
http://www.gamedev.net/reference/programmi...ere/default.aspgracias por la ayuda :)