Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: dragon01 en Enero 09, 2015, 11:50:53 PM

Título: dificil cuestion
Publicado por: dragon01 en Enero 09, 2015, 11:50:53 PM
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.
Título: Re:dificil cuestion
Publicado por: omick en Enero 10, 2015, 07:57:47 AM
...  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