Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -35%
Pack Smartphone Samsung Galaxy A25 6,5″ 5G + ...
Voir le deal
241 €

 

 Bouton "retour"

Aller en bas 
2 participants
AuteurMessage
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


Bouton "retour" Empty
MessageSujet: Bouton "retour"   Bouton "retour" EmptyMar 1 Fév 2022 - 18:29

Bon alors je me lance, quitte à passer pour un gros teubé...
Mais voilà mon problème:

J'ai créé un bouton qui fait apparaître l'inventaire quand on appuie dessus.
J'aimerais tout simplement que, lorsque le joueur re-clique dessus, ce même inventaire disparaisse.

J'ai lu pas mal de notions concernant le script aujourd'hui et m'y perds un peu.
À aucun moment je n'ai trouvé comment dire à AGS "Si tel bouton est appuyé alors que l'inventaire est visible, alors cacher l'inventaire"

Je ne sais pas comment décomposer une telle fonction en langue scriptée, vu que je ne sais pas dire "SI j'appuie sur ce bouton".

En vous remerçiant !!
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


Bouton "retour" Empty
MessageSujet: Re: Bouton "retour"   Bouton "retour" EmptyMar 1 Fév 2022 - 21:01

Si ton bouton permet déjà d'ouvrir l'inventaire, normalement tu devrais déjà avoir une ligne de script quelque part qui ressemble à ça :

Code:
gMonInventaire.Visible = true;

Ça a pour effet de rendre le GUI visible chaque fois qu'on clique sur le bouton, y compris si le GUI est déjà visible lors du clic. Toi tu voudrais que ce même clic ait un effet différent selon que le GUI est visible ou non. Donc tu peux remplacer cette unique ligne par 4 lignes afin d'exprimer l'alternative :

Code:
if (gMonInventaire.Visible == false)  // Si pas visible...
  gMonInventaire.Visible = true;  // ... alors rends visible
else                  // Sinon (si visible)...
  gMonInventaire.Visible = false;  // ... alors rends invisible
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


Bouton "retour" Empty
MessageSujet: Re: Bouton "retour"   Bouton "retour" EmptyMar 1 Fév 2022 - 23:33

Ahaha merci beaucoup !
Effectivement j'étais persuadé que c'était un truc "tout con" dans le genre...
D'une je ne le mettais pas au bon endroit, et de deux, j'avais pas le "else".

Merci encore. sourire
Revenir en haut Aller en bas
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


Bouton "retour" Empty
MessageSujet: Re: Bouton "retour"   Bouton "retour" EmptyMer 2 Fév 2022 - 15:46

Par contre je n'arrive pas à coder correctement un son aInv qui se joue à l'ouverture et aClac à la fermeture.
Pourtant mon script me paraît un tant soit peu logique...

Code:
function BtnBille_OnClick(GUIControl *control, MouseButton button)
{
  {  
  if (gInventaire.Visible == false)
  aInv.Play();
  gInventaire.Visible = true;
  else
  aClac.Play();
  gInventaire.Visible = false;  
  }
}

Qu'est-ce que j'ai fait de mal ? pleure
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


Bouton "retour" Empty
MessageSujet: Re: Bouton "retour"   Bouton "retour" EmptyMer 2 Fév 2022 - 16:31

C'est parce que j'ai été fainéant dans mon code : j'ai pas utilisé les curly brackets { et } pour if et else. Lorsque tu veux associer une seule ligne à un if ou à un else, tu peux omettre les {}. Mais lorsque tu veux en associer au moins deux (comme dans ton cas) tu dois entourer ces lignes de {}. Donc ton code devrait être :

Code:
function BtnBille_OnClick(GUIControl *control, MouseButton button)
{
  {  
    if (gInventaire.Visible == false) {
      aInv.Play();
      gInventaire.Visible = true;
    }
    else {
      aClac.Play();
      gInventaire.Visible = false;  
    }
  }
}
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


Bouton "retour" Empty
MessageSujet: Re: Bouton "retour"   Bouton "retour" EmptyMer 2 Fév 2022 - 16:49

Ahah je savais que ça venait des accolades...
Je viens (presque) à peine de lire le manuel où ils en expliquent le principe, avec cette histoire de curly brackets obligatoires s'il y a plusieurs lignes.

Merci du coup je vois mieux comment c'est structuré... Je les plaçais un peu n'importe comment.

En revanche mon son ne marche qu'à la fermeture, on entend le clac.
Et c'est très bizarre le son aInv ne semble pas fonctionner ici...

pourtant je l'ai testé isolé au démarrage du jeu et il fonctionnait très bien. peur
Revenir en haut Aller en bas
Contenu sponsorisé





Bouton "retour" Empty
MessageSujet: Re: Bouton "retour"   Bouton "retour" Empty

Revenir en haut Aller en bas
 
Bouton "retour"
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» ID d'un bouton?
» Creation de bouton
» Pensez à utiliser le bouton Résolu
» Bouton de fenetre
» [résolu]Bouton "Nouveau jeu" sur un gui

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: