Buenas, estoy liado con la ia de los enemigos de un proyecto ???
Lo que he conseguido es que cuando el obj_jugador se acerque a cierta distancia del obj_enemigo este le dispare...vale eso ok.
Pero lo que quiero que si tiene entre los dos el obj_muro no lo vea y no le dispare y si el obj_jugador salta el muro entonces ya lo ve y le dispara.
Me podeis decir por donde tirar?.
Yo he tirado por collision_line y a base de if....
Gracias.
Supongo que con una variable que te diga si el protagonista está detrás de un muro o no seria suficiente, no?
Del estilo de
if protadetrasdemuro=0
{
blablabla //que pueda disparar
}
if protadetrasdemuro=1
{
blablabla //que no pueda disparar
}
Gracias Marron21 por responder, tendria que saber en que lado esta del muro, pero en relacion al enemigo.
Hay alguna manera que la funcion collision_line sepa con que choca primero?.
Si es en vista cenital supongo que puedes usar esto:
[gml]
//Objeto enemigo
if !collision_line(x,y,jugador.x,jugador.y,false,muro)
{
//código para mirar al jugador
}
[/gml]
Si es en vista de plataformas, no sé si pueda servirte igual, jamás lo he probado :-[
Gracias!! Me diste el camino :)
Bueno al final le di en el clavo!! XD
if obj_heroe.x < x {
if !collision_line (x,y,obj_heroe.x,y-50,obj_pared,false,false) and collision_line (x,y,x-400,y,obj_heroe,false,false){
atacar = true
}
else {
atacar = false
}
}
if obj_heroe.x > x {
if !collision_line (x,y,obj_heroe.x,y-50,obj_pared,false,false) and collision_line (x,y,x+400,y,obj_heroe,false,false){
atacar = true
}
else {
atacar = false
}
}
Gracias!!
P.d: tendra webis que no soy capaz de enviar el codigo como lo poneis vosotros :(
Aquí se muestran las etiquetas para hacer posts más bonitos:
http://www.comunidadgm.org/propuestas-y-soporte/bbcode/ (http://www.comunidadgm.org/propuestas-y-soporte/bbcode/)