Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
— | editer_les_guis 07/10/2012 16:20 version actuelle | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | [[ags|{{:contents.gif}}]] [[autres_fonctionnalites|{{:up.gif}}]] [[musique_et_son|{{:back.gif}}]] [[diffuser_votre_jeu|{{:forward.gif}}]] | ||
+ | ---- | ||
+ | =====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 250x80 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|InvWindow.ScrollUp]] et [[InvWindow#ScrollDown|InvWindow.ScrollDown]].\\ \\ | ||
+ | Pour voir la liste complète des commandes disponibles pour les fenêtres d'inventaire, | ||
+ | consultez la section [[GUI|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é. | ||
+ | |||
+ | {{tag>français révision}} |