Buenas tardes queridos makeros/as, me surge una duda que tengo con respecto a instance_destroy () , porque razón si cuando quiero destruir un objeto (ejemplo enemigo)
Uso lo siguiente
[gml]with (objeto.enemigo )
{
Instance_destroy ()
}[/gml]
Me destruye todos los objetos enemigo....
Y cuando coloco (other) en vez de el nombre del enemigo en el with Si me elimina sólo 1 enemigo como lo deseo, espero que puedan aclararme esta duda y desde ya muchas gracias
Ahh... Te refieres a una instancia en particular ¿no?
para ello usas el numero de instancia unica que quieres destruir
[gml]
with(10001)
instance_destroy()
[/gml]
Eso destruira sola a esa instancia, tambien puedes manejarlo en una variable depende de como lo quieras destruir, por ejemplo si colisionas, si esta cerca tuyo, o si no le queda vida, etc
Si quieres hacerlo con una en particular, simplemente busca su id en el editor de room, pero puede ser un poco fastidioso; asi que si quieres destruirlo segun los ejemplos anteriores, solo usa funciones que devuelvan id. Un ejemplo para colisiones es:
[gml]
/// Dentro de una bala
enemy = instance_place(x, y, obj_enemy)
if (enemy) {
with(enemy) {
vida -= 1;
if (vida <= 0) instance_destroy()
}
}
[/gml]
Muchas gracias, me dejaste todo claro...... graciaaaas....
Puedes omitir el "if (enemy)", el ciclo with ya verifica que las instancias existen antes de ejecutar el código. Puede funcionar así
[gml]
enemy = instance_place(x, y, obj_enemy);
with(enemy) {
vida -= 1;
if (vida <= 0) instance_destroy();
}
[/gml]