Désactivation d'instances


GameMaker Studio 2 vous offre la possibilité de "désactiver" les instances afin qu'elles ne soient plus traitées d'aucune façon. Techniquement, ils n'existent plus vraiment, sauf en tant que pointeur dans le processus de désactivation lui-même, ce qui signifie qu'une instance désactivée ne peut être manipulée ou modifiée d'aucune façon tant qu'elle n'est pas réactivée. Ces fonctions doivent donc être utilisées avec précaution car elles peuvent causer des problèmes lorsqu'elles ne sont pas utilisées correctement, en particulier avec des objets persistants, car un objet persistant qui a été désactivé ne sera pas déplacé dans la pièce suivante sauf s'il est réactivé le supprimer du jeu).

Il n'est normalement pas nécessaire de désactiver les instances à chaque étape de votre partie, ce qui peut ralentir votre jeu et ralentir votre jeu. Au lieu de cela, il est recommandé de n'exécuter ces fonctions que quelques fois dans une alarme (par exemple), ou si la vue a changé de position, et il est particulièrement important de ne pas utiliser ces fonctions dans l'événement de dessin. graves erreurs dans votre jeu.

Une instance désactivée cesse effectivement d'exister dans le jeu, mais les instances individuelles peuvent toujours avoir accès à leurs variables. Vous ne pouvez pas utiliser with(object) ou with(instance) Cependant, vous devez accéder directement à l'instance en utilisant son identifiant unique sous la forme suivante:

val = inst.variable;

Dans l'exemple ci-dessus, "inst" serait une variable qui contient l'identifiant de l'instance désactivée, et c'est la seule façon de référencer une instance désactivée sans qu'elle ait été préalablement activée.

NOTE: Si vous désactivez une instance au démarrage de la pièce (ie: à partir du code de création de la pièce ou d'une instance de création d'instance dans la pièce), toutes les occurrences placées dans la pièce depuis l'éditeur de pièce avant d'être désactivé.
AVERTISSEMENT: la désactivation des instances sur lesquelles la physique est activée n'empêchera PAS leurs appareils d'interagir avec la simulation physique. Pour cela, vous devez définir leur variable phy_active sur true ou false lorsque vous activez / désactivez les instances.

Les fonctions suivantes existent pour désactiver les instances: