| [résolu]Curseur qui change quand il passe sur un GUI | |
|
|
Auteur | Message |
---|
PPLo C'est quoi la Tasse Bleue ?
Nombre de messages : 11
Date d'inscription : 19/07/2011
| Sujet: [résolu]Curseur qui change quand il passe sur un GUI Mer 27 Juil 2011 - 13:51 | |
| Bonjour à tous! C'est mon premier post sur ce forum que je fréquente pourtant depuis quelques temps. Je n'ai pas trouvé de réponse a mon problème alors je me permet de le poster! J'ai créé un GUI, et j'aimerais que lorsque la souris passe dessus, l’icône redevienne celle du curseur de base . Si je met mon GUI en "Visibility : When mouse moves to top of screen", ça le fait tout seul. Mais si je fixe mon GUI, ça ne marche plus et je me retrouve à devoir cliquer avec une icône de bouche (par exemple) sur un bouton "changer de personnage" ... pas vraiment gênant mais un peu déroutant (parler au bouton "changer de perso" ???). J'ai essayé de mettre un script de "mouse over" comme pour un hotspot - Code:
-
function gMonGui_MouseMove() { mouse.UseModeGraphic(eModePointer); } ... mais ça n'a pas donne grand chose Donc voila, si vous avez une idée, je suis preneur! Merci d'avance et bravo pour votre super site!
Dernière édition par PPLo le Mar 2 Aoû 2011 - 19:50, édité 1 fois |
|
| |
Godzillu Grand Cliqueur Royal
Nombre de messages : 1658
Date d'inscription : 11/03/2007
| Sujet: Re: [résolu]Curseur qui change quand il passe sur un GUI Jeu 28 Juil 2011 - 22:23 | |
| Salut et bienvenue parmi nous. Fais-un petit tour dans la section présentation c'est plus sympa (voir poli ). J'ai une réponse mais je ne sais pas si c'est ce que tu recherches exactement : tu repères la fonction qui active la visibilité de ton gui et là tu rajoutes à la suite éventuellement la commande pour le mode de ta souris - Code:
-
mouse.Mode = eModePointer par exemple ou si tu veux simplement changer l'apparence - Code:
-
mouse.UseModeGraphic(eModePointer) (pour le curseur Pointer par exemple). Est-ce ce que c'est ce type de comportement que tu cherches? |
|
| |
PPLo C'est quoi la Tasse Bleue ?
Nombre de messages : 11
Date d'inscription : 19/07/2011
| Sujet: Re: [résolu]Curseur qui change quand il passe sur un GUI Ven 29 Juil 2011 - 13:35 | |
| Salut Godzillu! Quel malpoli j'ai fais... voilà qui est réglé je suis allé me présenter Ahaaa, tu me donnes de nouvelles piste ! Interessant ! (et je constate que je confondais "mouse.Mode" et "mouse.UseModeGraphic"). L'idée que tu me donnes est bien mais le problème, c'est qu'il n'y a pas de fonction d’apparition de mon GUI étant donné qu'il est fixé en bas de l’écran. - Code:
-
function show_gMonGui () { mouse.Mode = eModePointer } ne fonctionne donc pas En me relisant mon premier post, je me suis rendu compte que mon explication n’était pas très claire, je recommence: Je lance AGS, je choisis un nouveau Default Game. Avec clic droite je change de curseur (de mouse.Mode quoi) et avec clic gauche je clic. Jusque là on est d'accord. Maintenant, quel que soit le curseur de ma souris (œil, main, bouche,...) si je déplace ma souris jusqu'à la barre d’icônes en haut de l'écran, la barre d'icônes apparait, le curseur devient celui du bête pointer (eModePointer) et redevient celui qui était sélectionné avant lorsque que je sors de cette barre d’icône. Je cherche à avoir le même comportement de curseur avec une barre (un GUI) fixe! Voilà, j’espère que c'est plus clair! J'ai voulu camoufler le problème en faisant un autre GUI invisible qui "pop" quand on met sa souris dessus, mais cette option est seulement disponible pour "mouse move to top of the screen", et moi ma barre est en dessous. Voilà ou j'en suis pour le moment. Peut être que je cherche dans la mauvaise direction, peut être qu'il y a une fonction liée au boutons du GUI et non au GUI lui même qui fait ce que je cherche ? Je continue a chercher, vos idées sont les bienvenues! Merci |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: [résolu]Curseur qui change quand il passe sur un GUI Lun 1 Aoû 2011 - 16:03 | |
| Salut PPLo, Je suis pas assez habitué à utiliser des GUIs pour te dire s'il y a une méthode particulière de prévue, mais j'imagine qu'il est tout à fait possible de faire un petit code pour gérer ton soucis. J'ai testé ce code, en le plaçant normalement dans ton global script (ou dans un module, comme tu préfères), ça devrait faire ce que tu veux. Attention si tu le mets dans le global script, car la fonction repeatedly_execute est par défaut déjà définie, il faut donc coller le code dedans (exceptée la définition de modePrecedent qui se trouve à l'extérieur, bien sûr). - Code:
-
CursorMode modePrecedent = -1; // On va stocker le mode de la souris dans cette variable
function repeatedly_execute {
// On vérifie quel GUI la souris survole GUI* guiSurvole = GUI.GetAtScreenXY(mouse.x, mouse.y); // Si le GUI survolé par la souris est celui qui t'intéresse (TON_GUI)... if (guiSurvole == gTON_GUI) { // ... et si on n'a pas encore mémorisé le mode de la souris... if (modePrecedent < 0) { // ... eh bien on le mémorise... modePrecedent = mouse.Mode; // ... et on utilise alors eModeInteract mouse.Mode = eModeInteract; } }
// Si la souris ne survole pas le GUI qui t'intéresse, et qu'on a mémorisé un mode... else if (modePrecedent > -1) {
// ... on remet la souris sur ce mode... mouse.Mode = modePrecedent; // ... et on remet la variable sur -1 modePrecedent = -1;
}
} Voilà, j'espère que ça te contentera, bonne continuation à toi ! _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
|
| |
PPLo C'est quoi la Tasse Bleue ?
Nombre de messages : 11
Date d'inscription : 19/07/2011
| Sujet: Re: [résolu]Curseur qui change quand il passe sur un GUI Mar 2 Aoû 2011 - 19:40 | |
| Salut Kitai!
Waw, le code avec commentaires, merci beaucoup! Je vais étudier et tester ça immédiatement! |
|
| |
PPLo C'est quoi la Tasse Bleue ?
Nombre de messages : 11
Date d'inscription : 19/07/2011
| Sujet: Re: [résolu]Curseur qui change quand il passe sur un GUI Mar 2 Aoû 2011 - 19:49 | |
| Fantastique, ça fonctionne exactement comme je le voulais ! J'ai juste change le eModeIntract par eModePointer. Merci beaucoup d'avoir pris de ton temps pour m'aider! A bientôt sur le forum |
|
| |
Godzillu Grand Cliqueur Royal
Nombre de messages : 1658
Date d'inscription : 11/03/2007
| Sujet: Re: [résolu]Curseur qui change quand il passe sur un GUI Mar 2 Aoû 2011 - 20:52 | |
| Excellent Kitai ceinture noire en code ags |
|
| |
titangebrian Adepte de la Grande Tasse Bleue
Nombre de messages : 75
Localisation : Toulouse/Valenciennes/Lausanne
Date d'inscription : 07/02/2009
| Sujet: Re: [résolu]Curseur qui change quand il passe sur un GUI Ven 6 Juil 2012 - 9:25 | |
| Salut, je farfouille je farfouille... sans vraiment comprendre grand chose sur les codes, les termes, ce qu'il faut changer, etc. Aussi j'ai un petit soucis : Tout comme PPLo, je voudrais que mon curseur change, mais quand il passe (mais sur un Hotspot). Là, pas de problème : function hHotspot1_MouseMove() { mouse.Mode = eModeInteract; }Mon curseur change en passant sur le hotspot 1. Néanmoins lorsque je quitte la zone de hotspot, il reste tel quel, en mode 'Interact'. J'ai essayé avec ce code : function repeatedly_execute() { if (Hotspot.GetAtScreenXY(mouse.x, mouse.y) != hHotspot1) { mouse.Mode = eModeWalkto; } }Mais... rien ne se passe. Comment faire ? ... Ce qui m'amène à une autre question : existe-il une page regroupant un peu tous les codes pour scripter des actions, des plus basiques aux plus complexes ? Ça m'éviterait de poser 46 questions (Dieu sait que je me retiens parfois...) Merci à vous tous |
|
| |
Vinkei Cliqueur Amateur
Nombre de messages : 314
Age : 43
Localisation : Nord
Date d'inscription : 19/01/2012
| Sujet: Re: [résolu]Curseur qui change quand il passe sur un GUI Ven 6 Juil 2012 - 12:43 | |
| - titangebrian a écrit:
Mon curseur change en passant sur le hotspot 1. Néanmoins lorsque je quitte la zone de hotspot, il reste tel quel, en mode 'Interact'. Comment faire ?
Insère ceci dans le "mouse move over hotspot" pour sauvegarder ton curseur et le rétablir une fois qu'il quitte le hotspot : - Code:
-
mouse.SaveCursorUntilItLeaves(); _________________ "L'ennemi est bête! Il croit que c'est nous l'ennemi alors que c'est lui!!!"
|
|
| |
titangebrian Adepte de la Grande Tasse Bleue
Nombre de messages : 75
Localisation : Toulouse/Valenciennes/Lausanne
Date d'inscription : 07/02/2009
| Sujet: Re: [résolu]Curseur qui change quand il passe sur un GUI Ven 6 Juil 2012 - 13:24 | |
| Ça marche Merci Vinkei |
|
| |
Vinkei Cliqueur Amateur
Nombre de messages : 314
Age : 43
Localisation : Nord
Date d'inscription : 19/01/2012
| Sujet: Re: [résolu]Curseur qui change quand il passe sur un GUI Ven 6 Juil 2012 - 13:32 | |
| - titangebrian a écrit:
-
Ce qui m'amène à une autre question : existe-il une page regroupant un peu tous les codes pour scripter des actions, des plus basiques aux plus complexes ?
Je peux te renvoyer vers ce lien, qui a été traduit par Kitai si je ne me trompe pas _________________ "L'ennemi est bête! Il croit que c'est nous l'ennemi alors que c'est lui!!!"
|
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: [résolu]Curseur qui change quand il passe sur un GUI Ven 6 Juil 2012 - 16:47 | |
| - Vinkei a écrit:
- titangebrian a écrit:
-
Ce qui m'amène à une autre question : existe-il une page regroupant un peu tous les codes pour scripter des actions, des plus basiques aux plus complexes ?
Je peux te renvoyer vers ce lien, qui a été traduit par Kitai si je ne me trompe pas D'autres membres du forum ont également contribué à la traduction. A la base les sections du forum Le Script et Questions/Réponses sur le script regroupaient ces bouts de codes qui permettent d'implémenter rapidement des options plus ou moins basiques qu'AGS ne propose pas nativement. Mais puisque quasiment toutes les questions/réponses concernent le script de près ou de loin, toute la section Questions/Réponses est utilisée. Sinon la section Trucs & Astuces, Tutoriaux contient des sujets vraiment intéressants concernant ces codes que tu sembles évoquer. Pour bien faire il faudrait créer un sujet dans cette section pour quasiment toutes les questions posées ici Enfin j'avais oublié cette commande SaveCursorUntilItLeaves ! Elle est bien pratique. En revanche elle ne fonctionne que pour les hotspots, objets et personnages, c'est pourquoi il fallait passer par une petite astuce pour le survol des GUI. _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
|
| |
titangebrian Adepte de la Grande Tasse Bleue
Nombre de messages : 75
Localisation : Toulouse/Valenciennes/Lausanne
Date d'inscription : 07/02/2009
| Sujet: Re: [résolu]Curseur qui change quand il passe sur un GUI Ven 6 Juil 2012 - 19:10 | |
| Si un jour j'ai besoin de l'astuce du GUI dans un jeu, je saurai où chercher. En attendant je vais rester 'simple' (bien que je m'égare toujours un peu, hélas.) Merci à vous deux, je vais lire les quelques topics susceptibles de m'intéresser et poursuivre l'animation d'intro. Bon début de soirée |
|
| |
Contenu sponsorisé
| Sujet: Re: [résolu]Curseur qui change quand il passe sur un GUI | |
| |
|
| |
| [résolu]Curseur qui change quand il passe sur un GUI | |
|