Si vous travaillez sur un assez grand jeu, vous verrez que votre script global peut
rapidement devenir assez gros et lourd. AGS vous permet de créer des scripts supplémentaires
(anciennement connue sous le nom de modules de script) afin de fractionner votre code et facilement
importer des scripts écrits par d'autres personnes.
Le script global principal doit encore contenir toutes les fonctions d'événements (les scripts
correspondant à Look At Character, Interact With Inventory, etc.) et de tous les éléments
de GUI (btnSave_Click, etc.)
Mais si vous avez des fonctions personnalisées, vous pouvez les mettre dans un script séparé
afin de diviser votre code. Les scripts ont l'avantage qu'ils peuvent être
facilement exportés et importés, si vous voulez partager une partie de votre code avec d'autres
personnes, ou même seulement la déplacer d'un jeu à l'autre.
Les scripts pour le jeu peut être vu dans le noeud “Scripts” dans l'arbre du projet. Chaque
script a son propre entête, qui est l'endroit où vous placez le import
de ce script pour permettre au reste de votre jeu d'accéder à ses fonctionnalités.
L'ordre des scripts est important. Un script ne peut utiliser des fonctionnalités d'autres
des scripts qui viennent avant dans la liste, de sorte que l'option Monter et Descendre vous permettent
pour définir l'ordre. Le script global est toujours en bas afin qu'il puisse accéder à tous les
autres scripts, et les cripts des rooms ont automatiquement accès à tous les scripts.
À titre d'exemple, supposons que vous voulez avoir une fonction spéciale AddNumbers dans un module.
Vous alles créer un nouveau script, puis mettre dans son fichier d'en-tête (. ASH):
import function AddNumbers(int a, int b);
Puis, dans le fichier de script (. ASC), vous pouvez mettre:
function AddNumbers(int a, int b) { return a + b; }
C'est le principe de base derrière l'utilisation de plusieurs scripts!
Fonctions speciales
Est-ce que ces script rajoutés peuvent utiliser des fonctions comme game_start
et repeatedly_execute
?
Eh bien, oui et non. Ils peuvent contenir les fonctions suivantes, et ils
seront appelés au bon moment juste avant les fonction de script globales :
Toutes les autre fonction spéciales , comme dialog_request
, seront seulement appelées dans
le script global même si elles existent dans un autre script.
Si vous avez besoin d'autres scripts pour utiliser ces fonctionnalités , vous pouvez
créer une fonction personnalisée et l'appeler depuis votre script global.
La commande ClaimEvent est utilisée pour on_key_press
, on_mouse_click
et on_event
. L'appeler empêche d'appeler ces fonctions dans le reste des scripts (y compris les scripts globaux)