Ayuda por favor con disparos de un varios objetos disparen si otro esta en la misma posición "y" pero me da un error(las plantas no pueden disparar al mismo tiempo) uso este código en una alarm
if (instance_exists(obj_zombi))
{
if (obj_zombi.y=y)
{
instance_create(x,y,obj_disparo)
}
}
Se que el código es super simple pero en teoría no se nada de GML
P.D. No quiero que las "plantas" se la pasen disparando a lo imbécil todo el tiempo
Debería ser así
[gml]
with( obj_zombi )
if( y == other.y )
instance_create( x,y, obj_disparo );
[/gml]
de esa forma se revisa la variable "y" de todas las instancias de obj_zombi, en el código anterior sólo se revisaba la primera instancia.
Cita de: Clamud en Enero 17, 2016, 02:12:57 AM
Debería ser así
[gml]
with( obj_zombi )
if( y == other.y )
instance_create( x,y, obj_disparo );
[/gml]
de esa forma se revisa la variable "y" de todas las instancias de obj_zombi, en el código anterior sólo se revisaba la primera instancia.
Pero el disparo no aparece en la planta
entonces para que aparesca en la planta haz que el objeto disparo aparesca en la planta: [gml]instance_create( obj_planta.x,obj_planta.y, obj_disparo );[/gml]
Cita de: julianxx9 en Enero 17, 2016, 03:07:07 AM
entonces para que aparesca en la planta haz que el objeto disparo aparesca en la planta: [gml]instance_create( obj_planta.x,obj_planta.y, obj_disparo );[/gml]
Pero son varios objetos planta y solo dispara el que esta mas cerca de (0,0)
lo arregleeee!!!
De todos modos gracias a sus referencias lo logre
Aqui esta el codigo por si alguien lo quiere usar
var xx,yy
xx=x
yy=y
with(obj_zombi)
if(y==other.y)
instance_create(xx,yy,obj_disparo);
Oops, se me pasó ese pequeño detalle, además se van a crear muchos disparos encimados si hay varios zombies en la misma línea horizontal. El código sería más óptimo si se escribe de esta forma:
[gml]
with( obj_zombi )
if( y == other.y )
{
instance_create( other.x, other.y, obj_disparo );
break;
}
[/gml]
Lo que hace la palabra with es ejecutar el código dentro del objeto que se indica; en el código de arriba, la variable "y" pertenece a una instancia de obj_zombi y "other.y" pertenece a la instancia que hizo la llamada al with.