Forum d'entraide à la création de jeux d'aventure
 
PortailAccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

 [résolu]Curseur qui change quand il passe sur un GUI

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
PPLo
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 11

Date d'inscription : 19/07/2011


MessageSujet: [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 perplexe


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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Godzillu
Grand Cliqueur Royal
Grand Cliqueur Royal


Nombre de messages : 1515

Date d'inscription : 11/03/2007


MessageSujet: 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?

_________________
Ma vie, mon oeuvre au jour semestre à la semaine le jour semestre la semaine : http://godzillu.blogspot.fr/
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://godzillu.blogspot.fr/
PPLo
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 11

Date d'inscription : 19/07/2011


MessageSujet: 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 perplexe

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 sourire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2431

Date d'inscription : 01/08/2006


MessageSujet: 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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
PPLo
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 11

Date d'inscription : 19/07/2011


MessageSujet: 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!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
PPLo
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 11

Date d'inscription : 19/07/2011


MessageSujet: 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 sourire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Godzillu
Grand Cliqueur Royal
Grand Cliqueur Royal


Nombre de messages : 1515

Date d'inscription : 11/03/2007


MessageSujet: Re: [résolu]Curseur qui change quand il passe sur un GUI   Mar 2 Aoû 2011 - 20:52

Excellent sourire

Kitai ceinture noire en code ags sourire

_________________
Ma vie, mon oeuvre au jour semestre à la semaine le jour semestre la semaine : http://godzillu.blogspot.fr/
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://godzillu.blogspot.fr/
titangebrian
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 75

Localisation : Toulouse/Valenciennes/Lausanne

Date d'inscription : 07/02/2009


MessageSujet: 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 sourire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://potemgrad.wix.com/home
Vinkei
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 314

Age : 35

Localisation : Nord

Date d'inscription : 19/01/2012


MessageSujet: 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!!!"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
titangebrian
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 75

Localisation : Toulouse/Valenciennes/Lausanne

Date d'inscription : 07/02/2009


MessageSujet: Re: [résolu]Curseur qui change quand il passe sur un GUI   Ven 6 Juil 2012 - 13:24

Ça marche clin d\\\\'oeil

Merci Vinkei
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://potemgrad.wix.com/home
Vinkei
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 314

Age : 35

Localisation : Nord

Date d'inscription : 19/01/2012


MessageSujet: 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 sourire

_________________
"L'ennemi est bête! Il croit que c'est nous l'ennemi alors que c'est lui!!!"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2431

Date d'inscription : 01/08/2006


MessageSujet: 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 sourire
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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
titangebrian
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 75

Localisation : Toulouse/Valenciennes/Lausanne

Date d'inscription : 07/02/2009


MessageSujet: 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 clin d\\\\'oeil

_________________
L'Enfant qui n'avait pas de Coeur
(Projet d'animation débuté dans le cadre du concours Hommage à Tim BURTON)

Avancée de MirNizhe
(Projet de point n'click AGS)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://potemgrad.wix.com/home
Contenu sponsorisé




MessageSujet: Re: [résolu]Curseur qui change quand il passe sur un GUI   Aujourd'hui à 8:01

Revenir en haut Aller en bas
 
[résolu]Curseur qui change quand il passe sur un GUI
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu]Curseur qui change quand il passe sur un GUI
» ‘‘ L'amitié - un beau nom qu'on change quand il gêne..’’ | PV (1707)
» Faire du Level UP et obtenir des PC facilement
» [RESOLU] Bulle recompense invisible quand je passe en mode jouer
» [PS3] Tournoi Samedi 13 aout - 21h30

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: