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

Partagez | 
 

 Animer un bouton au survol, comment ?

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
avatar

Nombre de messages : 501

Date d'inscription : 01/02/2008


MessageSujet: Animer un bouton au survol, comment ?   Jeu 20 Aoû 2015 - 21:13

Salut sourire

Si j'ai bien trouvé comment animer un bouton, je galère à faire comprendre à AGS que je veux qu'il s'anime uniquement au survol.
J'ai bien essayé de bidouiller un truc avec .GetAtScreenXY mais ça ne donne rien.
Code:
function repeatedly_execute()
{
if (Boutton1.GetAtScreenXY(mouse.x, mouse.y)) {
  Boutton1.Animate(5, 0, 8, eRepeat);
}

En fait, quand je passe dessus, il ne s'anime pas. Par contre, dès que je ne suis plus sur le bouton là il s'anime.

Un peu d'aide ne serait pas de refus confus
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
avatar

Nombre de messages : 1275

Date d'inscription : 10/05/2012


MessageSujet: Re: Animer un bouton au survol, comment ?   Jeu 20 Aoû 2015 - 21:47

EDIT: mon code brute force est pourrie est périmé, voir plus bas.
Arrives-tu as t'en sortir avec ça ? Un bouton, 3 sprites (27, 28 et 29), délai de 4.
Code:
// put anything you want to happen every game cycle in here
function repeatedly_execute()
{
  mx = mouse.x;
  my = mouse.y;
  // [...]
  // Gui animation
  GUIControl *theControl = GUIControl.GetAtScreenXY(mx, my);
  if (theControl == bInvMenu) {
    if(bInvMenu.NormalGraphic == 27) {
      bInvMenu.NormalGraphic = 28;
      CountDown = 4;
    } else if (bInvMenu.NormalGraphic == 28 && CountDown !=0) {
      CountDown--;
    } else if (bInvMenu.NormalGraphic == 28 && CountDown ==0) {
      bInvMenu.NormalGraphic = 29;
    }
  } else {
    if(bInvMenu.NormalGraphic == 29) {
      bInvMenu.NormalGraphic = 28;
      CountDown = 4;
    } else if (bInvMenu.NormalGraphic == 28 && CountDown !=0) {
      CountDown--;
    } else if (bInvMenu.NormalGraphic == 28 && CountDown ==0) {
      bInvMenu.NormalGraphic = 27;
    }
  }
}

_________________
Mon petit DevBlog


Dernière édition par Billbis le Jeu 20 Aoû 2015 - 21:55, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nothingaboutthedog.blogspot.fr/
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
avatar

Nombre de messages : 1275

Date d'inscription : 10/05/2012


MessageSujet: Re: Animer un bouton au survol, comment ?   Jeu 20 Aoû 2015 - 21:49

Edit: j'avais mal lu ton message. Ton script marche, c'est juste que tu réinitialise l'animation en continu lorsque la souris est sur le bouton, et que tu ne l’arrête pas lorsque la souris par. D’où l'effet obtenu ^^ . Faut ruser du coup.

_________________
Mon petit DevBlog
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nothingaboutthedog.blogspot.fr/
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
avatar

Nombre de messages : 1275

Date d'inscription : 10/05/2012


MessageSujet: Re: Animer un bouton au survol, comment ?   Jeu 20 Aoû 2015 - 21:53

Quelque chose comme ça ?
Code:

monBool = true;
function repeatedly_execute()
{
    if (Boutton1.GetAtScreenXY(mouse.x, mouse.y) && monBool) {
          Boutton1.Animate(5, 0, 8, eRepeat);
          monBool = false;
    } else if (!Boutton1.GetAtScreenXY(mouse.x, mouse.y) && !monBool) {
          Boutton1.NormalGraphic = 25;
          monBool = true;
    }
}

_________________
Mon petit DevBlog


Dernière édition par Billbis le Ven 21 Aoû 2015 - 16:19, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nothingaboutthedog.blogspot.fr/
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
avatar

Nombre de messages : 501

Date d'inscription : 01/02/2008


MessageSujet: Re: Animer un bouton au survol, comment ?   Ven 21 Aoû 2015 - 7:32

Ah mais bien sûr ! Merci Billbis sourire

Effectivement, mon raisonnement pêchait, car en restant sur le button, l'animation recommençait en boucle sur la première image et elle n'était pas arrêtée ensuite. Dans ma tête je voyais ça comme un mouseover mais ce n'est pas le cas.

J'ai bien compris à présent clin d'oeil
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
avatar

Nombre de messages : 2553

Date d'inscription : 01/08/2006


MessageSujet: Re: Animer un bouton au survol, comment ?   Ven 21 Aoû 2015 - 14:34

Juste par curiosité, est-ce que Boutton1.GetAtScreenXY(mouse.x, mouse.y) retourne true lorsque la souris survole Boutton1 et false autrement ? Car j'ai toujours utilisé cette commande de façon statique moi : Button.GetAtScreenXY(mouse.x, mouse.y) == Boutton1

_________________
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
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
avatar

Nombre de messages : 1275

Date d'inscription : 10/05/2012


MessageSujet: Re: Animer un bouton au survol, comment ?   Ven 21 Aoû 2015 - 14:45

Oui, je me demande la même chose... GetAtScreenXY est défini comme static par le manuel.

_________________
Mon petit DevBlog
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nothingaboutthedog.blogspot.fr/
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
avatar

Nombre de messages : 501

Date d'inscription : 01/02/2008


MessageSujet: Re: Animer un bouton au survol, comment ?   Ven 21 Aoû 2015 - 16:13

Static ? Kézako ? sourire

Sinon, ça ne fonctionne pas avec ton code Billbis (que j'ai corrigé, tu avais mis "mon bool", c'était bien "monBool" qu'il fallait ?)

J'ai le message suivant (pour la ligne if) : Type mismatch: cannot convert 'GUIControl*' to 'bool'.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
avatar

Nombre de messages : 1275

Date d'inscription : 10/05/2012


MessageSujet: Re: Animer un bouton au survol, comment ?   Ven 21 Aoû 2015 - 16:22

Oui, c'est bien monBool, et non mes boules.
Ton problème et le static, c'est la même chose chef. clin d'oeil
Code:
monBool = true;
function repeatedly_execute()
{
    mx = mouse.x;
    my = mouse.y;
    GUIControl *theControl = GUIControl.GetAtScreenXY(mx, my);
    if (theControl == Button1 && monBool) {
          Boutton1.Animate(5, 0, 8, eRepeat);
          monBool = false;
    } else if (theControl != Button1 && !monBool) {
          Boutton1.NormalGraphic = 25;
          monBool = true;
    }
}

PS: pour en savoir plus sur le static.

_________________
Mon petit DevBlog
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nothingaboutthedog.blogspot.fr/
Contenu sponsorisé




MessageSujet: Re: Animer un bouton au survol, comment ?   

Revenir en haut Aller en bas
 
Animer un bouton au survol, comment ?
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Background de GUI animé.
» //HELP// Câblage Panel Jamma
» Maison de Poupée
» Mesurer la tension +5V et +12V de sa borne d'arcade
» Comment ajouter un bouton de contrôl du volume sur les HP

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: