Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

 

 Animer un bouton au survol, comment ?

Aller en bas 
3 participants
AuteurMessage
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 502

Date d'inscription : 01/02/2008


Animer un bouton au survol, comment ? Empty
MessageSujet: Animer un bouton au survol, comment ?   Animer un bouton au survol, comment ? EmptyJeu 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
http://instagram.com/ichefgeorges
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Animer un bouton au survol, comment ? Empty
MessageSujet: Re: Animer un bouton au survol, comment ?   Animer un bouton au survol, comment ? EmptyJeu 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
http://nothingaboutthedog.blogspot.fr/
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Animer un bouton au survol, comment ? Empty
MessageSujet: Re: Animer un bouton au survol, comment ?   Animer un bouton au survol, comment ? EmptyJeu 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
http://nothingaboutthedog.blogspot.fr/
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Animer un bouton au survol, comment ? Empty
MessageSujet: Re: Animer un bouton au survol, comment ?   Animer un bouton au survol, comment ? EmptyJeu 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
http://nothingaboutthedog.blogspot.fr/
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 502

Date d'inscription : 01/02/2008


Animer un bouton au survol, comment ? Empty
MessageSujet: Re: Animer un bouton au survol, comment ?   Animer un bouton au survol, comment ? EmptyVen 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
http://instagram.com/ichefgeorges
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


Animer un bouton au survol, comment ? Empty
MessageSujet: Re: Animer un bouton au survol, comment ?   Animer un bouton au survol, comment ? EmptyVen 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
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
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Animer un bouton au survol, comment ? Empty
MessageSujet: Re: Animer un bouton au survol, comment ?   Animer un bouton au survol, comment ? EmptyVen 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
http://nothingaboutthedog.blogspot.fr/
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 502

Date d'inscription : 01/02/2008


Animer un bouton au survol, comment ? Empty
MessageSujet: Re: Animer un bouton au survol, comment ?   Animer un bouton au survol, comment ? EmptyVen 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
http://instagram.com/ichefgeorges
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Animer un bouton au survol, comment ? Empty
MessageSujet: Re: Animer un bouton au survol, comment ?   Animer un bouton au survol, comment ? EmptyVen 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
http://nothingaboutthedog.blogspot.fr/
Contenu sponsorisé





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

Revenir en haut Aller en bas
 
Animer un bouton au survol, comment ?
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: