Acceder

Ver la Versión Completa : Colision de objetos en juegos


set92
21/12/12, 20:53:41
Estoy en clase intentando recrear/copiar un juego para asi ir aprendiendo un poco mas.

El juego que estoy intentando copiar es el https://play.google.com/store/apps/details?id=com.halfbrick.jetpackjoyride&hl=es , en principio lo que estoy haciendo es una imagen estatica que sube y baja a la izquierda y a la derecha hay barras que se generan en una posicion aleatoria entre 0 y el alto de la pantalla. El problema que tengo ahora es como hacer para que cuando el bitmap del pj choque con el bitmap de las barra me salga un gameover, me salte un toast o me haga algo, he visto que se puede hacer metiendo el bitmap dentro de un rectangulo y luego mirando si un rectangulo contiene a otro pero no termino de entender como hacer esto y no se si hay alguna forma mejor para detectar las colisiones.

Y bueno este problema no le tengo ahora pero en el juego hay un fondo que va cambiando todo el rato y creo que hay unos numeros que tambien va cambiando por lo que no puedes ser fondos estaticos, al igual que hay veces que sale a la calle, y ahi veces que se mete a una fabrica, me imagino que esos si seran estaticos porque no hay ningun numero ni nada y simplemente lo tienen aleatorio.

Otra duda que tenia es que tengo hecho el juego con un hilo que ejecuta una surfaceview, pero si la persona sale de la app dandole al boton de atras la aplicacion se detiene de forma incorrecta y sale un mensaje de que se ha roto la app, creo que esto es debido a que el hilo se detiene de forma inesperada, y queria saber cual era el metodo del boton de atras para poder mandar detener el hilo de la forma correcta.

Y ya para terminar otra cosa, he probado a extraer lo que tenia el .apk de esa app y ahi muchos ficheros .tex que me imagino que seran las explosiones y los efectos especiales, como podria verlos?He estado mirando y creo que se puede mirar con el Paint Shop Pro pero no estoy seguro, estoy descargando la ultima version para ver si se puede.

mocelet
21/12/12, 22:34:35
Te recomiendo encarecidamente este libro (Beginning Android Games): http://www.apress.com/9781430230427

Es del creador de la biblioteca libgdx y te enseña todos los conceptos que hay que saber de juegos.

El JetPack original estará hecho con alguna biblioteca tipo unity o similar y los ficheros que hay por ahí son ficheros de recursos que no necesariamente se podrán abrir con un programa de dibujo.

set92
22/12/12, 19:43:07
Pues si te soy sincero lo tenia desde hace tiempo en el pcxD Me baje hace algun tiempo una coleccion de libros de apress pero me mire uno de juegos hace algun tiempo y vi que estaba hecho con C y el NDK, osea me imagino que miraria el advanced o asi, ya he mirado el beginning y empieza en la pagina 372-373 la colision de objetos, aun asi creo que todo el libro lo explica mas bien para OpenGL osea igual me lo empiezo a mirar desde el principio y a usar esta libreria que oigo tanto que se usa...

Tu que sueles usar para hacer los juegos?canvas o OpenGL?

mocelet
22/12/12, 20:06:32
Por ahora uso el canvas a pelo... ni siquiera la surfaceview. Ahora que el canvas tiene aceleración gráfica no hay mucho impacto en el rendimiento.

revuel
11/01/13, 18:12:03
como hacer para que cuando el bitmap del pj choque con el bitmap de las barra me salga un gameover, me salte un toast o me haga algo, he visto que se puede hacer metiendo el bitmap dentro de un rectangulo y luego mirando si un rectangulo contiene a otro pero no termino de entender como hacer esto y no se si hay alguna forma mejor para detectar las colisiones.


Buenas, yo también estoy muy verde, pero usando la libreria libgdx puedes solucionarlo de la siguiente forma:

Declaras una variable tipo Rectangle para el personaje y otra para la barra. Estos rectángulos son los que de forma interna en el código tienes que mover, es decir cambiar las posiciones x,y.
El rectángulo tiene un método que se llama "overlaps" al que le pasas por parámetro el objeto con el que colisiona, en tu caso personaje.overlaps(barra) y ya sabes o true o false.

Yo de libro he estado ojeando este:

http://www.anayamultimedia.es/cgigeneral/ficha.pl?id_sello_editorial_web=23&codigo_comercial=2315707

Se supone que es el mismo que el que te recomendó "mocelet" pero en español. Eso si, no lo tengo todavia y no te puedo decir si realmente es bueno o no, pero la primera impresión si me ha gustado.

Saludos

mocelet
11/01/13, 19:08:21
http://www.anayamultimedia.es/cgigeneral/ficha.pl?id_sello_editorial_web=23&codigo_comercial=2315707

Se supone que es el mismo que el que te recomendó "mocelet" pero en español.

Pues es verdad, mismo autor y pone apress por ahí abajo. Aunque de juegos apress ha sacado más libros de corte más avanzado.