Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Xiaomi Mi Smart Camera 2K Standard Edition (design compact / support ...
11.39 €
Voir le deal

 

 [résolu]Display au survol d'un bouton de GUI

Aller en bas 
3 participants
AuteurMessage
Pierrec
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Pierrec


Nombre de messages : 99

Date d'inscription : 16/06/2011


[résolu]Display au survol d'un bouton de GUI Empty
MessageSujet: [résolu]Display au survol d'un bouton de GUI   [résolu]Display au survol d'un bouton de GUI EmptyJeu 12 Déc 2013 - 23:50

Bonjour à vous

Me revoici avec un nouveau problème bien ridicule.

Je souhaite simplement afficher un teste au survol d'un bouton de GUI. En l'occurence, il s'agit d'une carte avec des zones. Je passe mon curseur sur la Prairie, hop, "Ceci est la prairie" apparait. Je sors mon curseur de la prairie, il disparait. Grâce aux diverses réponses sur ce forum, j'ai déjà effectué 90% du boulot, mais il me reste un tout petit problème : Je ne parviens pas à faire disparaitre le texte lorsque le curseur sort du bouton. J'ai cru être malin en simulant un clic lorsqu'il est dehors, mais comme ça ne clique sur rien, on dirait que ça ne marche pas. voici ce que j'ai :

Code:
function repeatedly_execute()
{
 
 if (gMap.Visible==true) {
    GUIControl*button=GUIControl.GetAtScreenXY(mouse.x,mouse.y);
if (button==bMeadow) {
Display("Ceci est la Prairie");
}

if(GetLocationType(mouse.x, mouse.y)==eLocationNothing){
  
XXX

}
}
}

Ce qu'il me manque, c'est donc la commande remplaçant les XXX, celle arrêterait tout simplement le display. J'ai essayé ProcessClick(mouse.x,mouse.y, mouse.Mode); et pas mal d'autre choses sans résultat. J'ai aussi essayé de disséquer le module RollOver d'Astaroth, mais je n'ai pas trouvé ma réponse. Il doit pourtant bien y avoir une commande toute simple pour dire "Arrête tout display en cours" non ?
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


[résolu]Display au survol d'un bouton de GUI Empty
MessageSujet: Re: [résolu]Display au survol d'un bouton de GUI   [résolu]Display au survol d'un bouton de GUI EmptyVen 13 Déc 2013 - 0:48

La commande Display ici ne me parait pas très appropriée :

Citation :
NOTE : Display est une fonction bloquante - cela signifie que l'exécution du script sera mise en pause jusqu'à ce que le joueur ait fait disparaître la fenêtre de texte (en appuyant sur une touche ou sur la souris). Tant que la fenêtre est affichée, tous les autres processus, comme les animations et l'affiche des interfaces, seront suspendus.

Autrement dit, la fonction repeatedly_execute n'est pas appelée tant que le texte est affiché. Peut-être que passer par repeatedly_execute_always pourrait-être une solution, mais le plus efficace serait encore d'utiliser une étiquette (ou un label si tu préfère). En gros, tu crées un Gui qui peut-être invisible par défaut et tu fais quelque chose comme ça :

Code:
function repeatedly_execute()
{
 
 if (gMap.Visible==true) {
    GUIControl*button=GUIControl.GetAtScreenXY(mouse.x,mouse.y);
if (button==bMeadow) {
gLocalisation.Visible = true; //Le Gui que tu auras créé
etiquetteLocalisation.Text = "Ceci est la Prairie"; //L'étiquette que tu auras ajoutée au Gui
}
else {
gLocalisation.Visible = false;
etiquetteLocalisation.Text = "";
}
}
}

Je n'ai pas testé le code, et je suis fatigué vu l'heure donc je ne suis pas à l'abri d'une erreur de détail mais en gros ça devrait fonctionner. Cette méthode ne présente aucun inconvénient (à mon avis) par rapport à la commande Display, étant donné que tu peux lui donner la même apparence, et le placer au même endroit.
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


[résolu]Display au survol d'un bouton de GUI Empty
MessageSujet: Re: [résolu]Display au survol d'un bouton de GUI   [résolu]Display au survol d'un bouton de GUI EmptyVen 13 Déc 2013 - 10:03

Je rejoins le conseil de valoulef.
Le code me semble bon également (apparemment il y a un bug avec mon colorateur syntaxique par contre... EDIT : c'est réparé), à part peut-être que la disparition de l'interface-étiquette est trop restreinte : on ne l'efface que si gMap est toujours visible, mais peut-être voudrait-on aussi pouvoir l'effacer dès que gMap disparaît.

On aurait alors :
Code:
function repeatedly_execute()
{

  // Le bouton survolé par la souris
  GUIControl *button = GUIControl.GetAtScreenXY(mouse.x,mouse.y);

  // Si gMap est affiché et si on survole bMeadow
  if (gMap.Visible==true && button != null && button == bMeadow)  {
    etiquetteLocalisation.Text = "Ceci est la Prairie"; // Définition du texte
    gLocalisation.Visible = true; // Affichage du gui-étiquette
  }
  // Sinon, si le gui-étiquette est toujours affiché, on l'efface
  else if (gLocalisation.Visbile) {
    gLocalisation.Visible = false; // Effacement du gui-étiquette
    etiquetteLocalisation.Text = ""; // Effacement du texte
  }
}

valoulef je vois aussi que tu as mis la commande Display en italique, je rappelle qu'en surlignant une commande et en appuyant sur Ctrl+Y on insère directement un lien vers l'aide (comme je viens de le faire).

Enfin Pierrec je peux te renvoyer vers mon module InfoBulles dont le but est justement d'afficher du texte au survol d'un élément d'interface.
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


[résolu]Display au survol d'un bouton de GUI Empty
MessageSujet: Re: [résolu]Display au survol d'un bouton de GUI   [résolu]Display au survol d'un bouton de GUI EmptyVen 13 Déc 2013 - 11:25

Kitai a écrit:
la disparition de l'interface-étiquette est trop restreinte : on ne l'efface que si gMap est toujours visible, mais peut-être voudrait-on aussi pouvoir l'effacer dès que gMap disparaît.

Effectivement, bien vu. Ça m'aurait étonné de ne rien oublié à cette heure là !

Kitai a écrit:
valoulef je vois aussi que tu as mis la commande Display en italique, je rappelle qu'en surlignant une commande et en appuyant sur Ctrl+Y on insère directement un lien vers l'aide (comme je viens de le faire).

Ah mais dis donc, c'est génial ça je ne savais même pas ! J'ai du passer à côté de l'info. Je crois que dans la logique de ce qu'on est en train de mettre en place, un petit mode d'emploi pour les commandes spécifiques du forum pourrait être bien utile (je m'en chargerai).

Kitai a écrit:
EDIT : c'est réparé
Oui mais j'ai l'impression qu'il y a un problème avec les citations maintenant. Et tiens d'ailleurs les couleurs ont à nouveau disparu confus


Dernière édition par valoulef le Ven 13 Déc 2013 - 12:41, édité 1 fois
Revenir en haut Aller en bas
Pierrec
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Pierrec


Nombre de messages : 99

Date d'inscription : 16/06/2011


[résolu]Display au survol d'un bouton de GUI Empty
MessageSujet: Re: [résolu]Display au survol d'un bouton de GUI   [résolu]Display au survol d'un bouton de GUI EmptyVen 13 Déc 2013 - 12:40

Merci pour vos réponses aussi rapides!

Il faut donc que j'abandonne Display...Dommage, je m'étais fait un super GUI custom! ^^

Malheureusement, comme je suis un peu nul, je n'arrive à faire marcher aucune des deux solutions. La première me renvoie une erreur sur etiquetteLocalisation.Text (faut peut-être que je définisse ça quelque part avant ? ça se définit comment ? il n'y a pas etiquetteLocalisation dans l'aide)

Quant au module, il a l'air juste PARFAIT mais, lui non plus ne m'affiche rien confus j'ai mis mon problème dans le topic dédié du coup, pour faire un petit jeu de piste!
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


[résolu]Display au survol d'un bouton de GUI Empty
MessageSujet: Re: [résolu]Display au survol d'un bouton de GUI   [résolu]Display au survol d'un bouton de GUI EmptyVen 13 Déc 2013 - 12:47

etiquetteLocalisation n'était qu'un exemple arbitraire du nom que tu pouvais lui donner. Il faut que tu crées d'abord l'étiquette sur ton GUI (sans mettre de texte par défaut).

Pour plus d'infos, tu peux consulter la rubrique d'aide sur le Texte d'interface.

N'hésite pas à demander plus de précisions si nécessaire. Après c'est vrai que si tu veux afficher l'indication de type infobulle (à côté du curseur) le module de Kitai semblerait idéal. Mais la méthode de l'étiquette est ce qui se rapproche le plus de ce que tu essayais de faire à la base.
Revenir en haut Aller en bas
Pierrec
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Pierrec


Nombre de messages : 99

Date d'inscription : 16/06/2011


[résolu]Display au survol d'un bouton de GUI Empty
MessageSujet: Re: [résolu]Display au survol d'un bouton de GUI   [résolu]Display au survol d'un bouton de GUI EmptyVen 13 Déc 2013 - 12:54

ha quel idiot! je pensais que c'était une fonctionnalité cachée d'AGS ^^

[Edit : je viens de comprendre : étiquette = label ! ]
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


[résolu]Display au survol d'un bouton de GUI Empty
MessageSujet: Re: [résolu]Display au survol d'un bouton de GUI   [résolu]Display au survol d'un bouton de GUI EmptyVen 13 Déc 2013 - 12:58

valoulef a écrit:
mais le plus efficace serait encore d'utiliser une étiquette (ou un label si tu préfère).

Pierrec a écrit:
je viens de comprendre : étiquette = label !
Oui ^^
C'est vrai que la plupart des gens utilisent la version anglosaxonne et sont plus habitués aux termes anglais, mais bon j'essaye d'imposer les termes francophones, c'est ma façon à moi de soutenir travail de traduction conséquent de Kitai (duquel, au passage, j'apprécie le projet en cours indiqué sur son profil clin d'oeil ).
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


[résolu]Display au survol d'un bouton de GUI Empty
MessageSujet: Re: [résolu]Display au survol d'un bouton de GUI   [résolu]Display au survol d'un bouton de GUI EmptyVen 13 Déc 2013 - 13:03

valoulef a écrit:
Après c'est vrai que si tu veux afficher l'indication de type infobulle (à côté du curseur) le module de Kitai semblerait idéal. Mais la méthode de l'étiquette est ce qui se rapproche le plus de ce que tu essayais de faire à la base.
Je plussoie sur ces deux remarques : mon module consiste simplement à généraliser cette méthode précisément à n'importe quel GUI.
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Pierrec
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Pierrec


Nombre de messages : 99

Date d'inscription : 16/06/2011


[résolu]Display au survol d'un bouton de GUI Empty
MessageSujet: Re: [résolu]Display au survol d'un bouton de GUI   [résolu]Display au survol d'un bouton de GUI EmptyVen 13 Déc 2013 - 13:08

Bon ben voilà...les deux solutions marchent maintenant ^^
Désolé d'avoir lu un peu trop vite

Je vous remercie du fond du coeur, mon nouveau problème va maintenant être de choisir ma préférée ^^
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


[résolu]Display au survol d'un bouton de GUI Empty
MessageSujet: Re: [résolu]Display au survol d'un bouton de GUI   [résolu]Display au survol d'un bouton de GUI EmptyVen 13 Déc 2013 - 14:57

Pierrec a écrit:
Je vous remercie du fond du coeur, mon nouveau problème va maintenant être de choisir ma préférée ^^

Ça c'est le prix à payer d'une aide trop efficace ^^

J'ai passé le sujet en "résolu".
Revenir en haut Aller en bas
Contenu sponsorisé





[résolu]Display au survol d'un bouton de GUI Empty
MessageSujet: Re: [résolu]Display au survol d'un bouton de GUI   [résolu]Display au survol d'un bouton de GUI Empty

Revenir en haut Aller en bas
 
[résolu]Display au survol d'un bouton de GUI
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: