Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

 

 template de base pour (re)commencer un jeu

Aller en bas 
4 participants
Aller à la page : Précédent  1, 2
AuteurMessage
Jorkz
Cliqueur Emérite
Cliqueur Emérite



Nombre de messages : 666

Date d'inscription : 16/07/2006


template de base pour (re)commencer un jeu - Page 2 Empty
MessageSujet: Re: template de base pour (re)commencer un jeu   template de base pour (re)commencer un jeu - Page 2 EmptySam 2 Mai 2020 - 20:38

Oui j'ai réussi à faire marcher le bouton. clin d'oeil
J'ai réglé l'inventaire sur false et je le rends true grâce au bouton (qui disparait), comme tu m'as expliqué.
Et je souhaiterais qu'il reparte lorsque le curseur quitte la zone du gui inventaire (et que le bouton réapparaisse, donc).

Je ne sais pas quoi mettre comme fonction.

Soit dit en passant très sympa le coup du manuel en français !... Mais des exemples de trucs à faire les plus fréquents auraient été bienvenus... Car là c'est extrêmement frustrant il y a plein d'infos supers et tout... Mais avec des exemples de fonctions complètes ça faciliterait la tâche à bon nombre de gens qui ne sont pas habitués au code.
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue



Nombre de messages : 1791

Date d'inscription : 01/08/2011


template de base pour (re)commencer un jeu - Page 2 Empty
MessageSujet: Re: template de base pour (re)commencer un jeu   template de base pour (re)commencer un jeu - Page 2 EmptySam 2 Mai 2020 - 22:07

Il faut passer par la fonction repeatedly_execute déjà présente dans ton global_script par défaut et qui permet de vérifier des conditions "en permanence". En effet, ce que tu veux faire c'est que si le curseur ne se trouve pas dans une zone prédéfinie, alors l'inventaire n'est pas affiché. Il faut donc vérifier en permanence si le curseur est à cette position. Mais attention : il faut que le bouton pour l'afficher se trouve dans cette même zone, sinon l'inventaire disparaitra sitôt apparu.

Pour mon exemple, je vais considérer que tu utilise le GUI du template BASS, qui est situé en haut de l'écran et mesure 42 pixels de hauteur. Je vais considérer aussi que le bouton est situé dans cette zone et ne contient aucun pixel plus bas que ça (sinon on va avoir le même problème).
On pourrait vérifier si le curseur survole le GUI mais, plus simple, on peut simplement vérifier s'il est ou non à la hauteur qui nous intéresse. Et si ce n'est pas le cas, alors on demande à AGS de masquer l'inventaire et d'afficher le bouton.

Ce qui va donner (à copier dans ta fonction repeatedly_execute, donc) :
Code:
if (mouse.y > 41){ //Si le curseur se trouve sous la coordonnée Y 41 (0 à 41 étant les pixels occupés par l'inventaire)
  gInventoryBar.Visible = false;
  gMonBouton.Visible = true; //à remplacer par le vrai nom de GUI du bouton :-p
}

Mais attention ! En faisant ça, si tu modifies la hauteur de la fenêtre d'inventaire, il faudra changer la coordonnée à prendre en compte. Pour éviter ça, tu peux à la place calquer la valeur sur la hauteur du GUI (en considérant qu'il restera en haut de l'écran, si tu le passe en bas, ça ne marchera plus) :

Code:
if (mouse.y > gInventoryBar.Height - 1){ //Il faut penser à retirer 1 à la hauteur du GUI, étant donné que le premier pixel est à la coordonnée 0.
  gInventoryBar.Visible = false;
  gMonBouton.Visible = true;
}

Ainsi si tu modifie le hauteur de la fenêtre d'inventaire, alors la coordonnée à prendre en compte s'adaptera automatiquement.

Ravaillac a écrit:
Soit dit en passant très sympa le coup du manuel en français !... Mais des exemples de trucs à faire les plus fréquents auraient été bienvenus... Car là c'est extrêmement frustrant il y a plein d'infos supers et tout... Mais avec des exemples de fonctions complètes ça faciliterait la tâche à bon nombre de gens qui ne sont pas habitués au code.

L'aide en ligne n'est autre qu'une traduction de la version anglophone du manuel. Il a moins comme fonction de proposer des tutos poussés que de lister les différents éléments qu'on peut utiliser dans AGS. C'est en tout cas comme ça que je le vois, personnellement.
Revenir en haut Aller en bas
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 666

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


template de base pour (re)commencer un jeu - Page 2 Empty
MessageSujet: Re: template de base pour (re)commencer un jeu   template de base pour (re)commencer un jeu - Page 2 EmptyDim 3 Mai 2020 - 5:15

HeyHey merci beaucoup à toi, encore une fois !... Ça marche nickel. Je l'ai même fait pour l'axe des x car mon inventaire ne prend pas tout l'écran.

Cependant j'ai dû adapter un peu car les positions des GUI avaient déjà des décalages left et top.
Et j'ai donc créé un else if pour l'axe x.
Je suis pas peu fier du résultat, tiens ^^

De plus je suis doublement content car ça y est !... Je peux dire que mon inventaire est opérationnel: avec les flèches scrolldown et up qui fonctionnent, les items dedans qui se chevauchent pas et tout et tout.

Bon par contre une fois le bouton disparu / inventaire apparu, ça fait un peu chelou ce vide... Mais j'en fais mon affaire sourire

_________________
L' est si forte à la course qu'elle en sort de la phrase.  autruche
Revenir en haut Aller en bas
Contenu sponsorisé





template de base pour (re)commencer un jeu - Page 2 Empty
MessageSujet: Re: template de base pour (re)commencer un jeu   template de base pour (re)commencer un jeu - Page 2 Empty

Revenir en haut Aller en bas
 
template de base pour (re)commencer un jeu
Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2
 Sujets similaires
-
» Changer de template en cours de route?
» Template Dott.
» Template vide
» La base du jeu
» aborder efficacement le template LW_bass

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: