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


Editer les GUI

L'interface du jeu repose sur différents GUI. Chaque GUI est une région rectangulaire de l'écran qui est dessiné par-dessus l'arrière-plan. Chacun peut être défini comme :

  • toujours affiché (par exemple la ligne statut dans les jeux Sierra)
  • s'affichant lorsque la souris arrive à un certain endroit (ex : barre d'icône Sierra)
  • s'affichant suite à une commande de script seulement

L'interface par défaut est constituée de deux GUI - la ligne de statut et la barre d'icônes.

Allez à l'onglet “GUIs” de l'arborescence principale. Tous les GUI du jeu y sont listés – double-cliquez pour en éditer un. Pour en créer un nouveau, faites un clic droit sur le noeud “GUIs” et choisissez “New GUI” (”Nouveau GUI”).

Une fois que vous avez ouvert un GUI, vous verrez le GUI lui-même dans la fenêtre princpale, et ses réglages peuvent être modifiées dans la grille Properties (Propriétés). Ceci vous permet de changer la couleur ou l'image d'arrière-plan, et de définir la position ou la taille du GUI parmi d'autres choses.

La propriété “Visibility” (”Visibilité”) vous permet de définir quand le GUI sera affiché. Vaut “Normal” par défaut, ce qui signifie que le GUI sera initialement visible, bien qu'il puisse être caché si vous utilisez une commande GUI.Visible=false dans game_start.

L'option “Popup modal” signifie que le GUI sera initialement caché et doit être activé par une commande de script. Avec cette option, le jeu se mettra en pause lorsque le GUI sera affiché, et durant ce temps les fonctions on_mouse_click et on_key_press ne seront pas exécutées.

L'option “Mouse YPos” (”Position Y de la Souris”) signifie que le GUI n'apparaît que lorsque la position verticale de la souris se déplace au-dessus de la coordonnée Y définie dans l'option “Popup-YP”.

“Persistent” est similaire à “Normal”, sauf que ce GUI ne sera pas effacé lors d'une cutscene même si vous avez choisi “GUIs turn off when disabled” (”Les GUI s'effacent lorsqu'ils ne sont pas actifs”) dans les réglages généraux. Pratique si vous voulez que la plupart de vos GUI s'effacent, sauf une ligne de statut ou autre.

Le réglage “Z-Order” (”Couche Z”) vous permet de définir dans quel ordre les GUI sont dessinés - c'est-à-dire lorsque deux GUI se chevauchent, lequel sera dessiné par-dessus. Le réglage Z-Order est un nombre arbitraire entre 0 et 1000. AGS dessine les GUI dans l'ordre, du plus petit nombre à l'arrière-plan jusqu'au plus grand nombre au premier plan.

La réglage “Clickable” vous permet de définir si le GUI et ses boutons réagissent aux clics de souris. Ceci est activé par défaut, mais si vous le désactivez et que le joueur clique sur le GUI, le jeu traitera le clic comme s'il avait cliqué sous le GUI, sur ce qu'il y a vraiment dans la pièce. Utile pour des GUI transparents quie ne sont utilisés que pour afficher de l'information.

Vous remarquerez que les GUI ont des noms. Ils peuvent être utilisés dans le script de la même façon que les noms de personnage. Par exemple, si un GUI a le nom “gBarreIcones”, vous pouvez utiliser les scripts comme ça :

gBarreIcones.Visible = true;

Boutons de GUI

Pour proposer une interface interactives, vous utiliserez les boutons.

Pour ajouter une bouton, cliquez sur le bouton “Add button” (”Ajouter bouton”) dans la barre d'outils, puis dessinez un rectangle sur le GUI avec la souris. Vous le verrez s'afficher comme un bouton textuel, rempli du texte “New button” (”Nouveau bouton”). Remarquez que la fenêtre Properties (Propriétés) affiche désormais les propriétés de votre nouveau bouton plutôt que celles du GUI.

En utilisant la fenêtre des propriétés, vous pouvez définir une image pour le bouton plutôt que du texte, et vous pouvez aussi définir d'autres attributs assez clairs. Vous définissez ce qui se passe lorsque le joueur clique sur le bouton en utilisant l'attribut “Click Action” (”Action de Clic”). Il peut valoir “Run Script” (”Exécuter Script”) (par défaut), mais aussi “Set mode” (”Définir mode”), qui change le mode de curseur pour le mode spécifié dans la propriété “New mode number” (”Numéro du nouveau mode”).

Pour supprimer un bouton, faites un clic droit dessus et choisissez Delete (Supprimer).


Texte d'interface

Vous pouvez facilement afficher du texte statique sur votre interface. Par exemple, les interface dans le style Sierra affichent le score dans la barre de statut.

Pour afficher du texte dans un GUI, vous aurez besoin d'une étiquette (label). Cliquez sur le bouton “Add label” (”Ajouter étiquette”) dans la barre d'outils, puis tracez un rectangle comme vous l'avez fait pour le bouton. Vous pouvez changer le texte affiché dans l'étiquette en éditant la propriété “Text”. Remarquez que le texte s'adapte automatiquement pour entrer dans le rectangle que vous avez tracé.

En plus du texte normal que vous pouvez entrer dans une étiquette, vous pouvez ajouter certains mot-clés spéciaux qui permettent au texte de changer de valeur durant le jeu. Les mot-clés suivants seront remplacés par les valeurs pertinentes dans le jeu :

 @GAMENAME@    Le nom du jeu, spécifié dans l'onglet Game Settings (Réglages du Jeu)
 @OVERHOTSPOT@ Le nom de la zone d'interaction (hotspot) sur laquelle se trouve le curseur
 @SCORE@       Le score actuel du joueur
 @SCORETEXT@   Le texte "Score: X of XX" ("Score : X sur XX") rempli avec les nombres correspondants
 @TOTALSCORE@  Le score maximum possible, défini dans l'onglet Game Settings (Réglages du Jeu)

Exemple : Vous avez @SCORE@ points sur @TOTALSCORE@.

La fenêtre de propriétés vous permet aussi d'aligner le texte à gauche, à droite ou au centre, ainsi que de modifier la couleur et la police utilisées.


Fenêtres de texte personnalisées

Si vous voulez ajouter une touche personnelle aux fenêtres de texte blanches qui affichent tous les messages durant le jeu, vous pouvez créer une bordure à l'aide de l'éditeur de GUI. Faites un clic droit sur le noeud “GUIs”, et choisissez “New Text Window GUI” (”Nouveau GUI fenêtre de texte”).

L'élément sera redimensionné à environ 1/4 de l'écran, et vous verrez 8 images - une dans chaque coin et une de chaque côté. Ce sont les images de bordure. Vous changez les images des coins de façon normale.

Dans le jeu, les images des coins seront placées aux coins respectifs de la fenêtre de texte, et les images de côtés seront répétées tout le long du bord de la fenêtre. Pour informer le jeu que vous utilisez votre style personnalisé de fenêtre textuelle, allez dans l'onglet General Settings, et cochez “Text windows use GUI” (”Les fenêtres de texte utilisent un GUI”). Ensuite, entrez le numéro du GUI que vous voulez utiliser.

Vous pouvez aussi définir une image d'arrière-plan pour la fenêtre de textes. Dans l'éditeur de GUI, définissez simplement une image d'arrière-plan pour l'élément GUI. L'image que vous spécifiez ne sera ni étirée ni affichée en mosaïque dans le jeu ; toutefois elle sera rognée pour entrer dans la fenêtre. Vous devriez utilise une image d'au moins 250×80 pixels pour vous assurer qu'elle rempli entièrement la fenêtre.

Pour définir la couleur du texte dans la fenêtre, définissez simplement la couleur de premier plan (Foreground Colour) du GUI et ce sera celle utilisée pour afficher le texte des messages.


Inventaire personnalisé

Une autre option que vous pouvez avoir remarquée dans l'éditeur GUI est le bouton “Add Inventory” (”Ajouter Inventaire”). Ceci vous permet de tracer un rectangle qui affichera l'inventaire en cours du joueur, de la façon que le font les jeux Lucasarts. Pour pouvoir faire défiler la fenêtre d'inventaire, vous aurez besoin de boutons Haut et Bas, et d'y attribuer des scripts qui appellent les fonctions adéquates comme InvWindow.ScrollUp et InvWindow.ScrollDown.

Pour voir la liste complète des commandes disponibles pour les fenêtres d'inventaire, consultez la section Fonctions et propriétés des inventaires.


Barres de défilement

Vous pouvez désormais ajouter des barres de défilement (sliders) à vos GUI. Ceci vous permet d'offrir une interface élégante au joueur pour qu'il puisse régler des aspects comme le volume ou la vitesse du jeu à l'aide d'un curseur. Pour ajouter une barre de défilement, cliquez sur le bouton “Add slider” et tracez un rectangle comme vous le feriez pour un bouton. Vous pouvez aussi redimensionner la barre en glissant le coin inférieur droit de la même façon que pour un bouton.

Les barres de défilement peuvent être verticales ou horizontales. La direction dans laquelle elles sont tracées est automatiquement calculée selon la dimension du cadre - si elle est plus large que haute, vous aurez une barre horizontale, sinon vous en aurez une verticale.

Dans les propriétés des barres de défilement, vous pouvez définir un minimum, un maximum et une valeur courante pour le curseur. En jeu, l'utilisateur pourra le faire glisser de MIN à MAX, le curseur étant initialement positionné à VALUE. Pour les barres de défilements horizontales, MIN est à gauche et MAX à droite, pour les verticales, MAX est en haut et MIN est en bas.

Lorsque le joueur déplace le curseur dans la barre, l'événement OnChange est appelé. Cela signifie que s'ils le déplacent continuellement de haut en bas, l'événement sera appelé sans discontinuer.

Votre script peut récupérer la valeur du curseur à l'aide de la propriété Slider.Value.


Zones de saisie

Une zone de saisie (Text Box) est un outil simple qui permet au joueur de passer des informations à votre jeu. L'ajout d'une zone de saisie se fait comme l'ajout de tout autre élément de GUI.

Si une zone de saisie est affichée dans un GUI, lorsque le joueur pressera une touche (une lettre, la touche Entrée, la touche de correction) elle sera dirigée vers la zone de saisie plutôt que passer à la fonction on_key_press. Lorsque le joueur appuie sur Entrée (Return) dans la zone de saisie, l'événement OnActivate est appelé. Vous pouvez alors utiliser la propriété TextBox.Text pour récupérer ce qui a été tapé.


Listes

Les listes vous permettent d'ajouter une liste de lignes à votre GUI. Cela peut être utile pour afficher une boîte de sauvegarde/chargement, permettant au joueur de choisir diverses options.

Vous utilisez les fonctions ListBox pour manipuler les listes - par exemple, ListBox.AddItem pour ajouter une ligne, ou ListBox.SelectedIndex pour récupérer la sélection actuelle.

L'événement OnSelectionChanged est déclenché lorsque le joueur clique sur une ligne dans la liste. Vous pouvez l'ignorez si vous n'en avez pas l'utilité.

 
editer_les_guis.txt · Dernière modification: 07/10/2012 16:20 (édition externe)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki