Wenn du Instanzen
deaktivierst sind sie in gewissem Sinne nicht existent für das
Spiel. Sie sind nicht mehr sichtbar und ihre Events werden nicht
ausgeführt.
Somit existieren sie
für
alle Aktionen und Funktionen nicht mehr. Dies spart Rechnerleistung
aber sei vorsichtig. Wenn du z.B. alle Instanzen eines Objektes
deaktivierst kannst du sie nicht löschen (Weil sie nicht
existieren.). So kann ein vom Spieler gefundener Schlüssel keine
deaktivierte Tür öffnen.
Der schlimmste Fehler, den du
machen kannst, ist die Instanz zu deaktivieren welche für das
Aktivieren zuständig ist. Um dies zu verhindern haben einige
Funktionen hier die Möglichkeit sich nicht selbst zu
deaktivieren.
Dies sind die möglichen Funktionen:
instance_deactivate_all(notme) Deaktiviert alle Instanzen im Raum. Wenn notme true ist wird die ausführende Instanz nicht deaktiviert (Was normalerweise das ist was du willst.).
instance_deactivate_object(obj) Deaktiviert alle Instanzen im Raum für das gegebene Objekt. Du kannst auch "all" für alle Instanzen oder die ID einer bestimmten Instanz angeben.
instance_deactivate_region(left,top,width,height,inside,notme) Deaktiviert alle Instanzen in der angegebenen Region (dessen Umrisse im Bereich liegen). Wenn inside false ist werden alle Instanzen ausserhalb der Region deaktiviert.Wenn notme true ist wird die ausführende Instanz nicht deaktiviert (Was normalerweise das ist was du willst.).
instance_activate_all() Aktiviert alle Instanzen im Raum.
instance_activate_object(obj) Aktiviert alle Instanzen im Raum für das gegebene Objekt. Du kannst auch "all" für alle Instanzen oder die ID einer bestimmten Instanz angeben.
instance_activate_region(left,top,width,height,inside) Aktiviert alle Instanzen in der angegebenen Region. Wenn inside false ist werden alle Instanzen ausserhalb der Region deaktiviert.
Zum Beispiel, um alle Instanzen ausserhalb des Views zu deaktivieren kannst du den folgenden Code im Step Event des bewegenden Objekts angeben:
{ instance_activate_all(); instance_deactivate_region(view_xview[0],view_yview[0], view_wview[0],view_hview[0],false,true); }
In der Praxis wirst du wahrscheinlich eine Region nutzen die etwas grösser ist als der View.