Octubre 28, 2013, 11:18:17 PM Ultima modificación: Octubre 29, 2013, 10:30:12 AM por Domenec
Buenas,
Me gustaría que los enemigos no me viesen si hay un bloque entre ellos y yo.
Es un juego en 2D y para que te vean, en este caso, he usado la función collision_rectangle. El problema es que si estoy a su misma altura pero entremedio existe una pared, el enemigo igualmente me detecta (como es lógico tal y como lo he hecho). ¿Alguien me echa un cable o me da una idea de como poder evitar eso?

Gracias de antemano.

Hola amigo
Lo que se me ocurre que puedes utilizar es la funcion "collision_line", y tiras la linea desde el enemigo, hasta tu personaje.
Si no hay colisión de ningún tipo, es decir, no hay pared entre el Jugador y el enemigo, entonces realizar las acciones.




#2 Octubre 28, 2013, 11:55:45 PM Ultima modificación: Octubre 29, 2013, 12:00:45 AM por Domenec
Esto es lo que he hecho pero con la funcion collision_rectangle. La uso para abarcar un poco mas que la line en altura ya que me permite buscar la colision entre dos Y. La line solo me busca en una misma referencia Y, aunque en teoria, el problema seguiria siendo el mismo.

Edito:
Vale, me he mirado esa instruccion en el manual del GM. Creia que era lo mismo que la que he comentado. Usare tu consejo y mañana te cuento...