Enero 09, 2015, 11:50:53 PM Ultima modificación: Enero 10, 2015, 12:26:52 AM por dragon01
Hola amigos tengo una dificil cuestion que solucionar y no lo consigo pero estoy cerca aja.
El proposito es que en un juego de plataforma, cuando el personaje se encuentra con un enemigo, este le lanza objetos, y cuando se aleja deja de hacerlo.
Pero todo esto siempre y cuando la view entre dentro de su radio con el enemigo, este, inmovil te lanzara objetos, y cuando el enemigo salga de la view del personaje dejara de acerlo.
Y asi primero he creado 2 objetos del enemigo, uno para cuando el personaje esta lejos, y otro para cuando se acerca.
Bueno entonces mis (ecuaciones) serian algo como lo siguiente:
Para que el enemigo empieze a lanzar objetos:
if {x<view_xview[0]+240}
if {x>view_xview[0]-240} (del objeto enemigo)
change instance, y se cambian el objeto de 1 al objeto 2. Esto lo entiendo bien, siempre que entra en el radio de vision el enemigo lanzara objetos, ahora el problema es cuando se aleja.

if {x>view_xview[0]-240}
if {x<view_xview[0]+240} (del objeto enemigo)
change instance, al objeto 1 y dejara de tirar objetos. Pero no funciona del todo bien, aun cuando el personaje se aleja en ocasiones el enemigo sigue lanzando objetos.

Cual seria la expresion correcta en este caso.

...  bueno  yo te recomiendo que en vez de que uses dos objetos  solo uses una variable global, algo asi como:
global.atacar=0;  y la condicion la pones en un evento que no recuerdo como se llama jejeje  pero esta en la seccion de other events  y se refiere a cuando esta dentro de la view..  ahi despues solo acomodas el rango (distance_to_object) y asi cambias a globar.atacar=1