Ceci est une ancienne révision du document !
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'interaction (
Scripts de Look At Character, d'interaction avec des scripts d'inventaire et ainsi de suite) et
de tous les manipulateurs 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 and repeatedly_execute?
Et 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 speciales , comme dialog_request,seront seulement appellées dans
le script global même si elles existent dan sun autre script.
si vous avez besoin d'autres scripts pour utiliser ces fontionnalité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 le reste des scripts d'etre appelés ( y compris les scripts globaux)