Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: MRLombardoTL en Diciembre 20, 2014, 03:52:08 AM

Título: Problema con el collision (Physics)
Publicado por: MRLombardoTL en Diciembre 20, 2014, 03:52:08 AM
Hola a toda la Comunidad de Game Maker! :D

Queria pedir ayuda respecto a un problema con un proyecto que lleva physics

Veran, yo tengo lo siguiente:

Tengo a objeto1 que su unica funcion es estar quieto -- (Funciona a la perfeccion)
Tengo a objeto2 que se desplaza a la izquierda con el siguiente script:

phy_speed_x=-20


(Ambos objetos funcionan bien)

Pero lo que yo quiero hacer es que cuando objeto2 collisione con objeto 1, el objeto2 se quede inmovil

Ya probe usando Move Fixed y no resulto para nada

Ideas?

Muchas gracias.
Título: Re:Problema con el collision (Physics)
Publicado por: Clamud en Diciembre 20, 2014, 04:42:49 AM
Escribe:
[gml]
phy_speed_x = 0;
phy_speed_y = 0;
[/gml]
Cuando se activa el sistema de físicas las variables normales de movimiento no se toman en cuenta, el icono "move fixed" modifica las variables normales "speed" y "direction" por eso no funciona.
Título: Re:Problema con el collision (Physics)
Publicado por: penumbra en Diciembre 20, 2014, 04:46:11 AM
Aplícale una condición a
phy_speed_x=-20
para que sólo se mueva mientras no haya colisión:

[gml]
if (choque == false)
    phy_speed_x = -20
else
    phy_speed_x = 0
[/gml]
en el evento de colisión, haz choque = 1, o en lugar del evento de colisión se puede usar en step la función physics_test_overlap() para detectar la colisión

No lo he intentado, pero probablemente otra manera de detener la instancia es deshabilitar su física mediante phy_active
Título: Re:Problema con el collision (Physics)
Publicado por: MRLombardoTL en Diciembre 20, 2014, 05:15:15 AM
Hola de nuevo

Muchas gracias a Clamud y penumbra por responder este post

Por mas que lo intento no logro obtenerlo

Yo se que es demasiado lo que voy a hacer pero, no puedes ayudarme a verificarlo? Soy muy nuevo en esto de las Physics y esto me tiene loco

Es este:
https://mega.co.nz/#F!xB8nFAzT!c_afDpH_jinIFj5gZ4Zcpg

Solo quiero que el objeto azul al chocar con el objeto negro, el objeto azul se quede inmovil pero no lo consigo. :'(

Yo se que esto deberia de hacerlo yo porque es codigo que yo entiendo, pero si en algun caso tienes el don para lograr esta accion te lo agradeceria mucho

Saludos a los 2!
Título: Re:Problema con el collision (Physics)
Publicado por: Clamud en Diciembre 20, 2014, 05:41:50 AM
En GMS, en el menú file elige "export", para crear un sólo archivo que es más cómodo de descargar.
Título: Re:Problema con el collision (Physics)
Publicado por: MRLombardoTL en Diciembre 20, 2014, 05:45:33 AM
Cita de: Clamud en Diciembre 20, 2014, 05:41:50 AM
En GMS, en el menú file elige "export", para crear un sólo archivo que es más cómodo de descargar.

Es este:
https://mega.co.nz/#!wU9ngIpa!k-jIMfVn5T90_nlCV6sYsqOv9Ugl7ieQvdexH_WwYmw

Muchas gracias Clamud. :D
Título: Re:Problema con el collision (Physics)
Publicado por: MRLombardoTL en Diciembre 21, 2014, 05:29:09 AM
Cita de: MRLombardoTL en Diciembre 20, 2014, 05:45:33 AM
Cita de: Clamud en Diciembre 20, 2014, 05:41:50 AM
En GMS, en el menú file elige "export", para crear un sólo archivo que es más cómodo de descargar.

Es este:
https://mega.co.nz/#!wU9ngIpa!k-jIMfVn5T90_nlCV6sYsqOv9Ugl7ieQvdexH_WwYmw

Muchas gracias Clamud. :D


No importa ya, ya lo solucione :D


(Lo dejo aqui por si alguien tiene el mismo problema que yo)


Lo que hice fue hacer un Script y meter el siguiente codigo:


with(objeto2)
{
if place_meeting(x,y,objeto1)
phy_speed_x = 0;
phy_speed_y = 0;
}

y este Script lo coloque en un evento Step

y seleccione un Execute Script y seleccione el Script mencionado

De todas formas muchas gracias a ustedes 2 por ayudarme! :D