Buenas, hay alguna forma de simplificar esto:


instance_deactivate_object(obj_a);
instance_deactivate_object(obj_b);
instance_deactivate_object(obj_c);
instance_deactivate_object(obj_d);
instance_deactivate_object(obj_e);


Gracias

#1 Marzo 22, 2015, 11:16:37 PM Ultima modificación: Marzo 22, 2015, 11:18:40 PM por penumbra
Método 1:
Crear un arreglo. Llenar ese arreglo con los índices de cada objeto (o los id de las instancias). Usar un ciclo para recorrer el arreglo, y desactivar las instancias.

Método 2:
Asignar un objeto parent a los cinco objetos. Luego, sólo tendrías que usar una línea para desactivarlos todos:
instance_deactivate_object(obj_Padre)

En el método 1, en lugar de arreglos, se puede usar alguna otra estructura, como una cola, una pila o una lista

Gracias como siempre, como puedo crear el metodo 1.

- Método 1 -
Al iniciar el juego en un evento Create o Game Start se define el arreglo:
[gml]
arreglo[0] = obj_a;
arreglo[1] = obj_b;
arreglo[2] = obj_c;
arreglo[3] = obj_d;
arreglo[4] = obj_e;
[/gml]
Y cuando sea necesario desactiva las instancias con un ciclo:
[gml]
for( i=0, i<5, i++ ) instance_deactivate_object( arreglo );
[/gml]

Me parece que el método 2 es mejor porque no es necesario escribir la lista de objetos y debe ser más rápido porque se ejecuta con el motor interno de :GMS:


El método dos creo que es mejor, ya que te ahorras el ciclo for y aprovechas la herencia.

saludos
Fan de los retro-juegos 2D, arcades, plataformas. Programador. Amiga and MSX fan