Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: desplo en Febrero 14, 2015, 04:42:34 AM

Título: Ayuda con el evento ''Intersect Boundary''
Publicado por: desplo en Febrero 14, 2015, 04:42:34 AM
Quiero que un objeto no se pueda salir de la room.

Uso este codigo:
[Intersect Boundary]
x=xprevious
y=yprevious


Ese codigo hace que el objeto se quede parado al tocar alguna orilla de la room.

Pero yo quiero que rebote o que al menos no se quede parado (osea que se pueda mover por las orillas de la room)
Título: Re:Ayuda con el evento ''Intersect Boundary''
Publicado por: omick en Febrero 14, 2015, 05:33:54 AM
en step:
if x>room_width{x=room_width};
if x<0{x=0};
if y>room_height{y=room_height};
if y<0{y=0};
Título: Re:Ayuda con el evento ''Intersect Boundary''
Publicado por: desplo en Febrero 14, 2015, 04:09:13 PM
Cita de: omick en Febrero 14, 2015, 05:33:54 AM
en step:
if x>room_width{x=room_width};
if x<0{x=0};
if y>room_height{y=room_height};
if y<0{y=0};
Si me funciono. Gracias!

Pero el sprite de mi objeto esta centrado y se sale de la room la mitad del objeto.
Título: Re:Ayuda con el evento ''Intersect Boundary''
Publicado por: ocarina en Febrero 14, 2015, 05:31:59 PM
en step:
if x>room_width{x=room_width-sprite_width/2};
if x<0{x=0+sprite_width/2};
if y>room_height{y=room_height-sprite_heigth/2};
if y<0{y=0+sprite_heith/2};

Saludos
Título: Re:Ayuda con el evento ''Intersect Boundary''
Publicado por: desplo en Febrero 14, 2015, 08:33:35 PM
Cita de: ocarina en Febrero 14, 2015, 05:31:59 PM
en step:
if x>room_width{x=room_width-sprite_width/2};
if x<0{x=0+sprite_width/2};
if y>room_height{y=room_height-sprite_heigth/2};
if y<0{y=0+sprite_heith/2};

Saludos

Este codigo hace que si la mitad del objeto se sale se regrese a al principio.

Pero yo quiero que no se pueda salir ni la mitad del objeto.

Como si el room fuera una caja y el objeto una pelota.

Gracias por la ayuda  :)
Título: Re:Ayuda con el evento ''Intersect Boundary''
Publicado por: arcangelcaos en Febrero 14, 2015, 09:11:22 PM
Eso es fácil. Cuanto mide tu pelota??, Pues pon

if x>(room_width-mitadPixelesObjeto) {x=room_width-mitadPixelesObjeto}

Y asi sucesivamente.
Título: Re:Ayuda con el evento ''Intersect Boundary''
Publicado por: Felicito en Febrero 16, 2015, 09:55:46 AM
hola, te adjunto un ejemplo para que lo veas, la parte de boundary tiene código.

lo unico que hay que hacer para que rebote es revertir la direción vertical
con este codigo

vspeed*=-1
tambien puedes revertir la horizontal
hspeed*=-1