Pages traduites Pages à traduire Pages en cours de traduction
A propos
 


les Scripts Multiples

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 :

  • function game_start()
  • function on_event(EventType event, int data)
  • function on_key_press(eKeyCode keycode)
  • function on_mouse_click(MouseButton button)
  • function repeatedly_execute()
  • function repeatedly_execute_always()

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)

 
ags37.txt · Dernière modification: 30/01/2012 11:22 par kitai
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki