Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: J.E.A en Septiembre 29, 2011, 11:46:54 PM

Título: Hacer que una bola colisione con un objeto sea de arriba o de abajo (Resuelto)
Publicado por: J.E.A en Septiembre 29, 2011, 11:46:54 PM
Hola, tengo una bola que colisiona con un objeto, pude hacer que al colisionar usando Reverse Horizontal Direction. Hasta aca todo bien, el objeto colisiona de los dos costados. El problema es que no se como hacer para que haga un rebote con Reverse Vertical Diretion, o sea, si el objeto colisiona de la parte de arriba o de abajo. No se si se podra hacer con la funci?n Reverse Direction o tengo que poner una expresi?n. Y si tengo que poner una expresi?n. Como podr?a hacer?

Aca les muestro en im?gen que es lo que quiero ser, ojala ser lo mas claro posible.  :-[

(http://k02.kn3.net/65C54402C.png)
Título: Re: Hacer que una bola colisione con un objeto sea de arriba o de abajo (Ayuda)
Publicado por: J.E.A en Septiembre 30, 2011, 06:37:02 PM
Ya casi pude solucionar el problema, pude que colisione sin problema y a la perfecci?n de la parte de arriba y de abajo del cuadrado anaranjado, pero ahora el problema esta en los costados. Les pongo como puse el c?digo

En la colisi?n de la pelota con el objeto naranja puse as?:
[gml]if y+8<other.y

vspeed*=-1


if y+8>other.y

vspeed*=-1
///Hasta ac? todo bien

///aca comienza el problema, cuando lo hago con rebote en Horizontal "hspeed*=-1" , que es lo que estare haciendo mal? tendr?a que rebotar igual que en las paredes cuando rebota de forma de costado, pero se queda pegado///
else
{
if x+8<other.x

hspeed*=-1


if x+8>other.x

hspeed*=-1}[/gml]

:-[ Ojala puedan ayudarme

Dejo el adjunto por las dudas, por si lo quieren revisar

Título: Re: Hacer que una bola colisione con un objeto sea de arriba o de abajo (Ayuda)
Publicado por: MaanuRP en Septiembre 30, 2011, 07:04:58 PM
Me puedes decir resumido cuakl es el problema? Porque no entendi bien.
Título: Re: Hacer que una bola colisione con un objeto sea de arriba o de abajo (Ayuda)
Publicado por: J.E.A en Septiembre 30, 2011, 08:10:11 PM
Cita de: MaanuRP en Septiembre 30, 2011, 07:04:58 PM
Me puedes decir resumido cuakl es el problema? Porque no entendi bien.
Ok aclaro nuevamente que el problema de las colsiones de arriba y abajo  ya lo solucione, pero el problema continua igual, esta ahora cuando colisiono en los costados (sea del lado izuiqero o derecho del objeto), te muestro un gr?fico que hice sobre el problema que tengo, ojala ahora s? me entiendan, se que es un poco confuso  :-[

lo que esta en az?l es lo que ya pude solucionar. Y lo que est? en rojo es por donde est? el conflicto

(http://k05.kn3.net/314786C6C.png)

En el evento de la colisi?n de la bola roja con el objeto anaranjado lo tengo as?:

[gml]
if y+8<other.y

vspeed*=-1


if y+8>other.y

vspeed*=-1

else

if x+8<other.x

hspeed*=-1


if x+8>other.x

hspeed*=-1[/gml]

AH, ACLARO QUE EN EL PROYECTO M?O QUE ADJUNTE HAY MAS DE UN CUADRADO DE ESOS ANARANJADOS EN EL NIVEL, PERO PUSE UNO SOLO EN DONDE GRAFIQU? MI PROBLEMA SOLO PARA MOSTRAR EL CONFLICTO QUE TENGO

Y lo adjunto nuevamente
Título: Re: Hacer que una bola colisione con un objeto sea de arriba o de abajo (Ayuda)
Publicado por: J.E.A en Septiembre 30, 2011, 08:20:54 PM
ACLARO QUE QUISIERA QUE CUANDO COLISIONE CON LOS COSTADOS DEL OBJETO NARANJA QUE SOLISIONE DE LA MISMA FORMA QUE COLISIONA CON LA PARED :)
Título: Re: Hacer que una bola colisione con un objeto sea de arriba o de abajo (Ayuda)
Publicado por: SilverL en Octubre 02, 2011, 01:54:45 AM
Ya intentaste quitar el "else" que se encuentra ah? enmedio? solo pregunto, ahorita voy a intentar probarlo a ver cual es el problema
Título: Re: Hacer que una bola colisione con un objeto sea de arriba o de abajo (Ayuda)
Publicado por: J.E.A en Octubre 02, 2011, 02:12:51 AM
Cita de: SilverL en Octubre 02, 2011, 01:54:45 AM
Ya intentaste quitar el "else" que se encuentra ah? enmedio? solo pregunto, ahorita voy a intentar probarlo a ver cual es el problema

Hola, gracias por responder , si, si saco el else sigo con el problema 
Título: Re: Hacer que una bola colisione con un objeto sea de arriba o de abajo (Ayuda)
Publicado por: J.E.A en Octubre 26, 2011, 09:08:21 PM
Alguien sabe de alguna forma? todav?a no hallo el problema   :-[
Título: Re: Hacer que una bola colisione con un objeto sea de arriba o de abajo (Ayuda)
Publicado por: MaanuRP en Octubre 27, 2011, 12:00:13 AM
Esto es simple, la primera vez tambien habia entendido esto, pero como es simple pense que el problema era mas complejo, por lo que no lo entendi xD
El problema fue que si lo entendi xD
Es como esos problemas que sabes la respuesta pero dices: Es muy simple, debe ser otra! Y tardas 3 horas buscandole la vuelta pero al final era la mas simple xD Perdon por haber tardado tanto :/




LO QUE TE INTERESA:

Te lo dejo en una linea, para ser mas exactos, en una funcion xD
[gml]
//Una funcion. El "false" es si quieres que rebote de forma exacta (Se usa mas para rampas y esas cosas, true es para si y false para no).
move_bounce_solid(false);
[/gml]

No te preocupes, TODOS nos quedamos en algo simple buscandole la vuelta y termina siendo lo mas simple del mundo, sino mira como me equivoque yo entendiendo tu duda xD

Es mas! Esto no me salia, y me puse a ver en el D&D porque estaba seguro que yo ya habia hecho esto y muchisimo mas facil y esta estaba la respuesta! "Bounce", en GML move_bounce_solid(advanced); xD

Espero que te haya servido.

Saludos!

PD: Hice re largo el posts la verdad que sin razon, te daba las dos lineas y listo, pero me siento culpable por no haber entendido el tema y por haber tardado tanto, por lo que lo hice mas lindo (?) jajaj

PD2: Para hacerlo completo, hasta te dejo el ejemplo :D
Título: Re: Hacer que una bola colisione con un objeto sea de arriba o de abajo(Resuelto
Publicado por: J.E.A en Diciembre 20, 2011, 08:26:48 PM
Muchas gracias, despues de tanto tiempo veo tu respuesta, quedo excelente  8)