Como crear una Colision

Started by R0BERTH, September 13, 2013, 04:58:19 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

R0BERTH

Buen día a todos

Estoy haciendo un video juego educativo para niños sobre laberintos y no he podido crear la colisión del camino dentro del laberinto, si alguien me puede colaborar le agradecería muchísimo.

Erkosone

La colisión del camino? contra que? las paredes del laberinto? entre un personaje y el camino?


Te refieres a que tienes un objeto similar a un personaje y quieres dejarlo dentro del camino para que colisione con las paredes?

R0BERTH


Erkosone

Cuanto mas concreto sea el problema mas acertada será la solución, dices que necesitas crear la colisión del camino, vale, pero ten en cuenta que para que se produzca una colisión son necesarios 2 objetos, uno es el camino, bien, y el otro?


Te refieres al puntero del mouse? a un personaje en pantalla que anda por el camino y no puede salirse? a un simple cuadradito que puedes mover con los cursores del teclado por el camino?
Intenta exponer tu idea exacta y seguro que podemos darte una solución ;)

DCelso



Creo que se refiere a que no le sale el ejemplo del laberinto del libro de osk.


En el cual, mueves una nave que es un triangulo verde, y debes evitar chocar con una especie de espiral blanca.



Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

R0BERTH

sii tengo la imagen del laberinto y tengo la imagen del personaje con movimiento, pero no he podido lograr que se mueva dentro del camino, se mueve pero traspasando todo el escenario, como logro que se mueva por el camino?

Erkosone

Hola Roberth, bueno vamos a ver, para esto hay 2 caminos, el clásico que mas de uno te sugerirá que es hacerlo a mano con complicadisimas formulas para controlar la colisión con las paredes "i digo con complicadisimas formulas" por que realmente este sistema requiere un gran esfuerzo y habilidad en trigonometría para controlar bien las colisiones con los vertices y ya no digamos los rozamientos, o el segundo sistema que es soberanamente mas sencillo, se trata de usar la mod_chipmunk que para esto está precisamente.


En resumidas cuentas, con una linea de código creas el entorno con física, con otra linea de código creas el escenario gracias al trabajo del usuario llamado  'PRG' que creó los algoritmos de vectorización de escenarios y objetos poligonales, y con otra linea de código creas la entidad del personaje.


Te sugiero encarecidamente que veas los video tutoriales que hice sobre la PhisicsMotionAPI, es una capa de abstracción de alto nivel para la física que te ofrece el modulo basado en la fabulosa chipmunk, una vez vistos los tutoriales al completo tendrás los conocimientos para hacerlo tu mismo sin ningúna ayuda, empiezan desde el nivel mas básico y terminan justo con lo que pides, vectorizando un escenario y añadiendo un personaje.


Los tienes aquí: [size=78%]http://forum.bennugd.org/index.php?topic=3413.0[/size]

DCelso

No hace falta.
El juego tal cual está en el manual va perfectamente.
¿Has llegado a terminarlo al completo?
Por lo que comentas parece que te falta esta linea
        IF (collision(TYPE laberinto)) x=320;y=240; END
en el proceso personaje.
Para que el ejemplo esté completo tienes que, desde la página 199, llegar hasta la página 206 haciendo todo lo que te dice.

O quizas no entiendas el concepto del laberinto del ejemplo, es una especie de triangulo verde, que debe de moverse por el espacio libremente sin chocar con las paredes blancas de la espiral esa. Si se choca con ella o con algún enemigo (que aparece de forma aleatoria) reaparece en el centro

Si no es eso, quizás sea tu fpg el que te esté jugando una mala pasada. Si es un fpg de 16 bits recuerda usar el negro puro de fondo (RGB 0,0,0), Si es un fpg de 32 bits recuerda usar .pngs con fondo transparente antes de insertarlos en tu .fpg.

Prueba con éste  fpg que te paso, hecho por mí para el ejemplo. (con el código avanzado con todo lo que dice hasta la página 106)

NOTA: Si te sirve esto para algo dame karma ,please ;).
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

R0BERTH

A todos muchas gracias por sus aportes...... estoy aplicando todos sus consejos cualquier inconveniente los seguire molestando....


Gracias!!!

carles

Uno de mis primeros juegos también fue un laberinto.
Para hacer que colisionara con las paredes hacia lo siguiente me guardaba las x e y del jugador en variable, si cuando se movía lo hacia dentro de una pared, volvía a la posición anterior.


Aquí he programado un algoritmo para hacer laberintos: http://forum.bennugd.org/index.php?topic=3716.0