Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Geen en Junio 11, 2014, 02:01:12 PM

Título: como delimitar la room para las colisiones
Publicado por: Geen en Junio 11, 2014, 02:01:12 PM
Hola chicos, pues tengo una duda, soy principiante en esto de Game Maker, estoy haciendo un juego para android y quiero que un objeto colisione con el final de la pantalla si tener que poner otro objeto (sólido) contra el que colisione, ¿eso se podría hacer?.
Gracias


¡ya lo solucione!, era bastante sencillo, colocar fuera de la room un objeto sólido pero pegado a los límites de la misma
Título: Re:como delimitar la room para las colisiones (solucionado)
Publicado por: eams1986 en Junio 11, 2014, 07:02:16 PM
Hola GEEN pero creo que es mas facil esto
en el evento STEP del jugador pon esto.
no habia visto el post



//Impedir que el personaje salga de los límites de la habitación
x = clamp(x, 16, room_width-16)  //ancho
y = clamp(y, 16, room_height-16)  //alto

16 es para que no salga todo puedes modificarlo.
Título: Re:como delimitar la room para las colisiones (solucionado)
Publicado por: empardopo en Junio 11, 2014, 07:14:42 PM
Sin conocer mucho de Game maker (llevo solo unos días mirando) me resulta tremendamente extraño que haya que crear un objeto extra para delimitar una pantalla.

He rebuscado algo y he encontrado un par de links (link1 (http://www.comunidadgm.org/preguntas-y-respuestas/detener-al-l237mite-de-la-pantalla/) y link2 (http://img.redusers.com/imagenes/pwr/pwr076/notagratis.pdf)) en los que creo que se dan soluciones distintas sin tener que crear objetos extras. Digo creo porque lo he mirado por encima.

Saludos
Título: Re:como delimitar la room para las colisiones
Publicado por: Geen en Junio 12, 2014, 01:28:20 PM
he probado:

x = clamp(x, 16, room_width-16)  //ancho
y = clamp(y, 16, room_height-16)  //alto

funciona bien, el único problema es que también quería que el personaje rebotara de forma aleatoria cuando tocase el final de la pantalla y sonara un sonido, así que le implementé un evento de colisión con el muro que coloqué fuera y al mismo le agregué un "Bounce" y un "Play sound", ¿alguna sujerencia?

Gracias por las respuestas
Título: Re:como delimitar la room para las colisiones
Publicado por: empardopo en Junio 13, 2014, 07:58:30 AM
Cita de: Geen en Junio 12, 2014, 01:28:20 PM
he probado:

x = clamp(x, 16, room_width-16)  //ancho
y = clamp(y, 16, room_height-16)  //alto

funciona bien, el único problema es que también quería que el personaje rebotara de forma aleatoria cuando tocase el final de la pantalla y sonara un sonido, así que le implementé un evento de colisión con el muro que coloqué fuera y al mismo le agregué un "Bounce" y un "Play sound", ¿alguna sujerencia?

Gracias por las respuestas

Supongo que puedes hacerlo en GML.
Desde donde estoy ahora mismo tengo capada yoyogames y no sé que hace esa función clamp exactamente pero lo mismo podrías controlar que sin en algún momento la X o Y del personaje que no quieres que salga de pantalla topa con el mismo entonces desde código lanzas el sonido que quieres así como provocas el rebote del mismo.
Ya sé que es teórico porque ahora mismo no controlo demasiado para intentar ponerte código o un ejemplo, lo siento.

Saludos