dices que cuando global.movimientoC == 1, el enemigo avanza hacia el jugador. Y que cuando el jugador deja de contactar la línea de visión, el enemigo se para.
Cita de: 7sixerCF en Febrero 05, 2014, 07:25:13 AM
Solucion
Necesito hacer que cuando el jugador deje de colisionar con el objeto "Linea de vision" la variable global.movimintoC se mantenga en 1 hasta que sea cambiada por otro Set Variable y no
pero es que no somos videntes ni magos, si la variable global.movimintoC no se mantiene en 1, es porque
tú le estás indicando que no se mantenga en 1, y esto no hay manera de saberlo dónde lo haces (en el objeto enemigo, en el objeto jugador, en el objeto línea de visión, etc) sin mirar el código del proyecto.
El hecho de que el jugador dejar de colisionar con la línea de visión no hace que GM ponga la variable global.movimientoC en cero automáticamente. Al salir de la colisión, la variable debería mantener su valor en 1. El regreso a 0 sólo pasa si en algún lado (un evento STEP o ALARM) se escribe global.movimientoC = 0, ya sea mediante código o mediante D&D. Y si dices que
Cita de: 7sixerCF en Febrero 05, 2014, 07:25:13 AM
si el jugador sale de esa linea de vision aunque el enemigo este en frente de el este deja de seguirlo
Es porque en algun lado estás probando si hay colisión, y cuando esto es falso, estás haciendo
global.movimientoC = 0De ahí se deduce que revisar si hay colisión sirve para iniciar la persecución, pero no para detenerla. Para detenerla se tendría que usar
a) una alarma que tras un tiempo haga global.movimientoC = 0
b) determinar si el jugador se alejó lo suficiente del enemigo para qué éste deje de seguirlo
c) otro método que se ajuste a cómo quieres que se comporte el enemigo (cosa que ignoramos)
jakaja men muchas gracias yo al principio pensaba que game maker hacia que cuando dejara de colisionar la variable la cambiaba, pero luego revise bien mi proyecto y aviste que en una parte enves de poner un check variable puse un set variable xD bueno mucahs gracias eso es todo, mero problema Humano