• Jueves 18 de Abril de 2024, 20:42

Autor Tema:  Detectar Colision Y Crear Un Disparo  (Leído 7805 veces)

palpatine16

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
    • http://www.desarrollo-web.es.vg ; http://www.elbosquenegro.tk ; http:/
Detectar Colision Y Crear Un Disparo
« en: Viernes 10 de Marzo de 2006, 19:41 »
0
como podría hacer una deteccion entre dos objetos????

y tambien como podria crear el disparo de una nave( desde un bitmap (disparo) mover la imagen hacia adelante) o si hay otra forma menos chapucera o mas facil???

gracias.

saludos
Saludos de vuestro emperador, XD

Si alguien quiere una cuenta de gmail que avise (casi 3gb de correo)

Angel38

  • Miembro MUY activo
  • ***
  • Mensajes: 370
    • Ver Perfil
Re: Detectar Colision Y Crear Un Disparo
« Respuesta #1 en: Sábado 11 de Marzo de 2006, 02:18 »
0
Amigo palpatine, espero te encuentres bien y estes de buen humor.

Primero que todo me acabo de dar cuenta que tu no quieres hacer un juego.
Tu quieres que te hagan el juego y luego decir que lo hiciste tu.


Segundo que todo eso no es asi de simple como decir.

int main(void)

Navecitabonita = Disparale a los enemigos;

Navecitabonita = Muevete por todos lados;

END_OF_MAIN()

Tanto tu como yo iniciamos caso al mismo tiempo.

Lo se por que tenemos casi el mismo tiempo de empezar a colocar los mensajes en este foro.

Te recomiendo que agarres las direcciones donde encuentras tutoriales de creacion de juegos que te enviaron los amigos de solocodigo y estudies juiciocito.

La proxima haz preguntas mas profundas sobre el tema como que no me funciona un codigo o que error tengo.

Espero lo tomes a bien y mas como un concejo que como critica.
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.

palpatine16

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
    • http://www.desarrollo-web.es.vg ; http://www.elbosquenegro.tk ; http:/
Re: Detectar Colision Y Crear Un Disparo
« Respuesta #2 en: Sábado 11 de Marzo de 2006, 10:20 »
0
Te entiendo. El problema es que no encuentro tutoriales buenos donde mirar eso. Y ademas es que se aprende mejor preguntando que leeyendo en un tuto (muchos de ellos no se explican).

Y en cuanto a lo del juego que estoy aciendo es para iniciarme, todavia no es mi juego.

Lo de los comandos que pedi, no quiero que me digaiscomo seria entero, solo quiero los comandos que hay que utilizar para ponerlos luego yo a mi gusto porque en un tutorial eso tambien te lo dicen no????


saludos y gracias.
Saludos de vuestro emperador, XD

Si alguien quiere una cuenta de gmail que avise (casi 3gb de correo)

Angel38

  • Miembro MUY activo
  • ***
  • Mensajes: 370
    • Ver Perfil
Re: Detectar Colision Y Crear Un Disparo
« Respuesta #3 en: Sábado 11 de Marzo de 2006, 15:29 »
0
Hola palpatine16.

En las dos discusiones que abrí y que todavia puedes ver.
Estan los links a diferentes paginas donde te muestran unos tutoriales muy buenos y te explican cada cosa.

Esperemos que personas como Juank y Geo te contesten para que te digan mucho mas sobre el tema de lo que yo te puedo decir.

Pero vuelvo e insisto, eso no es asi como crees. Es complicaito y de los que empiezan pocos son los que terminan sus proyectos.

Pero no te desanimes porque com me dijo alguien por ahi ;)
De que puedes, puedes
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Detectar Colision Y Crear Un Disparo
« Respuesta #4 en: Sábado 11 de Marzo de 2006, 18:23 »
0
http://alleg.sourceforge.net/docs.es.html

Recomendacion, para los fundamentos revisa el de allegro vivace que esta en lenguaje C
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Detectar Colision Y Crear Un Disparo
« Respuesta #5 en: Sábado 11 de Marzo de 2006, 18:37 »
0
Cita de: "palpatine16"
Te entiendo. El problema es que no encuentro tutoriales buenos donde mirar eso. Y ademas es que se aprende mejor preguntando que leeyendo en un tuto (muchos de ellos no se explican).
Yo te entiendo a ti, y es cierto, es mejor preguntar, aprendes mas, pero, creo también que las personas se enfadan de que en los foros pregunten lo mismo, lo mismo, lo mismo, lo mismo, preguntale a JuanK, yo al principio que me iniciaba (no quiero decir que soy un profesional, todavia me considero newbie jeje), hacia preguntas y leía preguntas de otros (porque no esta mal de vez en cuando, buscar en el foro preguntas similares a la tuya) y muchas veces, me "molestaba" cuando leía que "leete el manual" o "aqui hay información", pero despues de que uno repite lo mismo y lo mismo, se enfada y dice: "lee ésta información".

Ok, respecto a tu problema.

No te voy a hablar de programacion orientada a objetos, lo haces para que entiendas como funciona:
Haces un bitmap 'nave' y otro 'disparo', haces variables 'x' y 'y' para cada uno, (por ejemplo naveX, naveY, disparoX, disparoY), y 'naveX' y 'naveY' las mueves dependiendo de 'key'

por ejemplo:
Código: Text
  1.  
  2. if(key[KEY_UP]) naveY--;
  3.  
  4.  

y para el disparo puedes:
Código: Text
  1.  
  2. if(key[KEY_SPACE]) disparoY--;
  3.  
  4.  

Claro, esto no va a funcionar como quieres, tu tienes que ponerle mas cerebro.
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

Elden

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Detectar Colision Y Crear Un Disparo
« Respuesta #6 en: Sábado 11 de Marzo de 2006, 20:25 »
0
Lo de la bala, es cierto que podrías mirártelo un poco más por tu cuenta (yo creo que te hace falta leerte unos cuantos libros de programación).

Lo de las colisiones ya es un tema más delicado, te diré que existen varias maneras de hacerlo:

1----Colisión geométrica predefinida

-------------(entre 2 cuadrados): Suponiendo el cuadrado 1(x1,y1,w1,h1) y el cuadrado 2(x2,y2,w2,h2)  (x e y son las coordenadas) (w es la anchura) (h es la altura)  Colisionan si:  
Código: Text
  1.  
  2. ((x1+w1) >= x2) && (x1 <= (x2+w2)) && ((y1+h1) >= y2) && (y1 <= (y2+h2))
  3.  
  4.  

------------(entre 2 círculos): circulo 1 (x1,y1,r1) y circulo 2 (x2,y2,r2)
Colisionan si:
Código: Text
  1.  
  2. int dx = x1 - x2;
  3. int dy = y1 - y2;
  4. dx *= dx;
  5. dy *= dy;
  6. (Sqrt(dx+dy) < (r1+r2))
  7.  
  8.  

------------------(etc...):
ahora mismo se me ocurren mil más (entre rombos, elipses, etc...) aunque si sabes un poco de mates podrías deducirlas todas, si te interesa alguna en especial pregúntame




2------Colisión geométrica por listas de vértices:
Existen algoritmos que saben comprobar si 2 listas de vértices se intersectan, podrías descomponerlos en triángulos por ejemplo.





3------Colisión por mascara de bits:
Según mi gusto la mejor, además se puede acelerar por hardware, básicamente consiste en comprobar si un bitmap colisiona con otro viendo si se solapan pixels.




Hay buenos manuales de colisiones por ahí, si te interesa algún caso particular coméntame.

Un saludo.

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Detectar Colision Y Crear Un Disparo
« Respuesta #7 en: Sábado 11 de Marzo de 2006, 20:33 »
0
Esto se trata de buscar, leer, leer, pensar, codificar, probar, volver a buscar, leer, volver a pensar y probar nuevamente. En el camino hay que ir ideando cómo resolver tal o cual cosa, y cuando ya leíste, pensaste, probaste y lo volviste a hacer y no te sale, entonces preguntas y, si alguien ya se había enfrentado al problema, con gusto te ayudará.

Y también, cuando hayas resuelto varias situaciones problemáticas, vienes por aquí y ayudas a quienes se enfrenten a ellas (o nos enfrentemos, que soy más que novato en esto, simplemente que ya me enfrenté a algunas cosas de las que ahorita planteas).

Para las colisiones y varias otras cosas, esta información te servirá:

http://www.vjuegos.org/modules.php?name=Content

Nada enfocado a Allegro (ni a ninguna otra API), bastante general y claro para que lo implementes con las herramientas que desees.

Por cierto, ¿alguien ha hecho algo con colisiones entre un círculo y un rectángulo? Digo, varios aquí hemos hecho al menos un Pong en el que se hace uso de este tipo de colisión (y muchos la hacemos pixel a pixel, quizá checando antes una rectángulo-rectángulo), a lo que me refiero no es tanto a detectar la colisión, sino a hacer la respuesta algo "más natural".

Saludos,
José Jorge (Geo).
La imaginación es el límite.
Hardware & Software | Mexchip

palpatine16

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
    • http://www.desarrollo-web.es.vg ; http://www.elbosquenegro.tk ; http:/
Re: Detectar Colision Y Crear Un Disparo
« Respuesta #8 en: Domingo 12 de Marzo de 2006, 00:02 »
0
si es q e probado de todo(lo que se) y el disparo al pulsar enter (tecla que le puse) aparece y desaparece pero quieto en el sitio. mirare a ver q pueo hacer

P.D: Todo el dia esperando a q m avisara el correo de respuestas y nada q no m a avisado, mneos mal que me he metido al foro, que si no..... <_<
Saludos de vuestro emperador, XD

Si alguien quiere una cuenta de gmail que avise (casi 3gb de correo)

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Detectar Colision Y Crear Un Disparo
« Respuesta #9 en: Domingo 12 de Marzo de 2006, 01:43 »
0
Ok, el disparo tiene coordenadas, una vez creado, debes actualizarlas y hacer que se mueva continuamente (lo mismo que haces cuando actualizas las coordenadas de un objeto al presionar x teclas, pero aquí sin la intervención del usuario).

Saludos,
José Jorge (Geo).
La imaginación es el límite.
Hardware & Software | Mexchip

palpatine16

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
    • http://www.desarrollo-web.es.vg ; http://www.elbosquenegro.tk ; http:/
Re: Detectar Colision Y Crear Un Disparo
« Respuesta #10 en: Domingo 12 de Marzo de 2006, 11:58 »
0
y como las actualizo???porque he intentado a cerlo de todas las formas posibles y nada, que se queda quito.


gracias
Saludos de vuestro emperador, XD

Si alguien quiere una cuenta de gmail que avise (casi 3gb de correo)

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Detectar Colision Y Crear Un Disparo
« Respuesta #11 en: Domingo 12 de Marzo de 2006, 16:02 »
0
ahi esta el punto por el cual te decia que debes aprender los fundamentos, y te repiton nuevamente lo que ya te han dicho,....

NO ENTIENDO PORQUE PREGUNTAS UNA Y OTRA VEZ COSAS QUE YA TE DIJERON EN DONDE ESTAN!!

y creeme que ya te habrias ahorrado decenas de horas.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Angel38

  • Miembro MUY activo
  • ***
  • Mensajes: 370
    • Ver Perfil
Re: Detectar Colision Y Crear Un Disparo
« Respuesta #12 en: Lunes 13 de Marzo de 2006, 00:05 »
0
Si le hubieses parado bolas al primer mensaje no te hubiera regañado Juank.

Jejejeje.
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.