Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: dridly en Noviembre 04, 2011, 04:03:05 PM

Título: Movimiento limitado por zona
Publicado por: dridly en Noviembre 04, 2011, 04:03:05 PM
Muy buenas, os expongo mi duda

quiero que un objeto tenga un movimiento limitado en un ?rea, linea amarilla de la imagen, aunque se controla por teclado (no es path), ya que esa zona ser?a una zona "segura".Una manera de hacerlo seria creando objetos s?lidos para limitar su campo de acci?n, cuadrados negros, y lo tendria solucionado, pero me interesa que activando una tecla, espacio, por ejemplo, puedo salir de esa zona segura. Veo que si declaro los cuadrados negros como s?lidos no puedo modificarlo durante el juego.

La pregunta es: hay alguna manera de limitar el movimiento por la linea amarilla sin poner objetos? Y si tengo que poner objetos, como lo controlo sin que sean s?lidos?

Muchas gracias,

David
Título: Re: Movimiento limitado por zona
Publicado por: NOKAUBURE en Noviembre 04, 2011, 04:23:57 PM
Buenas, prueba esto en el evento colision (con los bloques invisibles) de tu objeto amarillo:

if keyboard_check(vk_space) = false
{
x = xprevious
y = yprevious
}


Haz que los bloques NO SEAN SOLIDOS. Con ese code haras que al mantener pulsado SPACE, los puedas atravesar.
Título: Re: Movimiento limitado por zona
Publicado por: dridly en Noviembre 04, 2011, 04:36:53 PM
Una pregunta, y si solo genero objetos en la linea de la ruta, como puedo detectar cuando salgo del camino indicado??
Título: Re: Movimiento limitado por zona
Publicado por: Zeit en Noviembre 04, 2011, 04:38:54 PM
Cita de: dridly en Noviembre 04, 2011, 04:36:53 PM
Una pregunta, y si solo genero objetos en la linea de la ruta, como puedo detectar cuando salgo del camino indicado??

Disculpa esta respuesta tan directa pero creo que es la mejor... Pruebalo y comenta!!!

Saludos.
Título: Re: Movimiento limitado por zona
Publicado por: dridly en Noviembre 04, 2011, 05:22:38 PM
Muy buenas,

claro que lo he probado Zeit  :-[. Lo que pasa es que no he detallado la explicaci?n. Lo he probado utilizando los objetos de muralla y funciona. El problema, adjunto imagen, es que es m?s limpio y f?cil (si lo consigo), si utilizo los objetos como ruta. Pero el objeto amarillo est? siempre en collision con la ruta, y no se como podr?a poner que puede salir de esta colisi?n.

Resumiendo, es como si definieras un path a un objeto, pero en vez de moverse con una velocidad fija, que lo puedas mover libremente por teclado, y adem?s salir de ?l.

No se si me he explicado... :)
Título: Re: Movimiento limitado por zona
Publicado por: elviskelley en Noviembre 04, 2011, 06:30:19 PM
mira en el event de colision contra los object que hacen de borde o pared no se como le digas, tu colocas
if other.solid
{
//y aqui el codigo que usas para detenerlo
}
//de esa forma al colicionar con el borde negro solo ejecuta los eventos si fueran solidos.
Ahora para que dejen de ser solidos usas este codigo
solid=false; asi dejan de ser solidos y solid=true; cuando quieras que sean solidos de nuevo.