Vi Adepte de la Grande Tasse Bleue


Inscrit le : 03 Mar 2008 Messages : 135
 | Sujet: A propos d'un GUI façon lucasart Lun 2 Juin - 11:37 | |
| Hello
Mon but est de créer un GUI façon lucasrt pour la V3 d'AGS Comme je débute en AGS, je préfère venir poser quelques questions histoire de pas réinventer la roue.
J'ai donc fais mes images : image de fond, icones (on/off) pour chaque verbe, fleches haut/bas pour l'inventaire.
Dans mon gui j'ai crée autant de bouton que de verbes + fleches. Crée une zone inventaire et un label pour le texte qui s'affiche lorsque l'on effectue des actions : du style " utiliser sceau sur puit"
1 ) est-ce la bonne méthode ? 2) comment puis-je renseigner le label à chaque étape de l'action (facile au début, sur le on_click du bouton, label.text = "utiliser", par exemple), mais après ??? (quant on choisit un objet par exemple, il faut que le texte se complète ... 3) de plus comment mettre en "pause" le jeu quant je veux utiliser un objet sur un autre (et donc faire la différence entre utiliser un objet seul ou avec un autre)
Je continue à farfouiller mais si vous avez des pistes ou des exemples de code, je suis preneur. |
|
Shai-la Ouvrière en Chef de la Grande Tasse Bleue


Inscrit le : 17 Avr 2006 Messages : 2700
 | Sujet: Re: A propos d'un GUI façon lucasart Lun 2 Juin - 12:49 | |
| Il faudrait que tu télécharges un GUI Lucasarts pour une version précédente et que tu regardes comment le créateur a fait pour programmer tout ça. Ensuite tu adaptes à la v3. _________________
 http://www.ninatonnerre.com : le site officiel de la BD Nina Tonnerre http://katurajdr.fr : mon forum officiel sur mes BD et autres créations |
|
Asraroth Cliqueur Amateur


Age : 33 Inscrit le : 20 Oct 2006 Messages : 420 Localisation : Val d'Oise
 | Sujet: Re: A propos d'un GUI façon lucasart Lun 2 Juin - 13:53 | |
| Pour la gestion du libellé dans le label du GUI, tu peux faire quelque chose comme çà :
- en haut du global script
| Code: | String libelle; String libellesuite;
|
- dans le Repeatldy_exec du Global script :
| Code: | if (mouse.Mode == eModeWalkto) {libelle = "Marcher vers ";} if (mouse.Mode == eModeLookat) {libelle = "Regarder ";} if (mouse.Mode == eModePickup) {libelle = "Prendre ";} if (mouse.Mode == eModePull) {libelle = "Tirer ";} if (mouse.Mode == eModePush) {libelle = "Pousser ";} if (mouse.Mode == eModeTalkto) {libelle = "Parler à ";} if (mouse.Mode == eModeInteract) { if (GetGlobalInt(1) == 0) {libelle = "Utiliser ";} if (GetGlobalInt(1) == 1) {libelle = "Donner ";} if (GetGlobalInt(1) == 2) {libelle = "Ouvrir ";} if (GetGlobalInt(1) == 3) {libelle = "Fermer ";} } libellesuite = Game.GetLocationName(mouse.x , mouse.y );
if (libelle != null) { libelle = libelle.Append(libellesuite); monLabel.TextColor = 37526; monLabel.Text = libelle; }
|
La variable globale 1 sert à gerer different type d'action avec 1 seul mode de souris (mode Interaction). si la Global 1 vaut 0, c'est que le joueur a cliquer sur "Utiliser" si elle vaut 1, le joueur a cliquer sur "Donner" etc... Donc dans les scripts associés aux clic des boutons du GUI, il faut positionner le mode de la souris, et indiquer la valeur de la variable Global 1 pour les actions "Utiliser, Donner, Ouvrir et Fermer".
| Code: | function btDonner_Click(GUIControl *control, MouseButton button) { mouse.Mode = eModeInteract; SetGlobalInt(1 , 1); }
etc...
|
|
|