| ScrollLeft et ScrollRight pour un inventaire horizontal ? | |
|
|
|
Auteur | Message |
---|
Kangourou pas sympa Adepte de la Grande Tasse Bleue
Nombre de messages : 147
Date d'inscription : 24/01/2009
| Sujet: ScrollLeft et ScrollRight pour un inventaire horizontal ? Dim 22 Mar 2009 - 19:47 | |
| Bonjour, Je suis entrain d'essayer de faire un inventaire, horizontal, L'idée serait d'avoir: - une image pour savoir qu'on est dans l'inventaire - une flèche pointant à gauche - la zone avec les objets, sur une seule ligne - une flèche pointant vers la droite Ma question est donc: Puis-je faire ces flèches qui scrolleraient vers la gauche et vers la droite, au lieu de le faire vers le bas et vers le haut ? De plus, est-ce que le scroll sera fluide, ou bien il se fera par à coup ? Merci d'avance ! - Spoiler:
Edit: Une deuxième question qui rejoint la première, Comme vous le voyez avec l'image, j'ai déjà fait un petit essai, mais sans savoir comment changer le scroll, Par contre, quand je clique sur une flèche l'inventaire disparaît, or c'est pas ce que je veux ! (J'ai fait qu'il apparaisse quand on a la flèche en haut de l'écran) Quelqu'un aurait une idée de comment corriger ça ? Merci d'avance ! |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Lun 23 Mar 2009 - 7:17 | |
| A priori, les fonctions ScrollUp et ScrollDown permettent aussi le défilement de l'inventaire vers la droite ou la gauche si les objets tiennent sur une seule ligne. Mais je ne saurai pas te dire comment faire pour avoir un scroll fluide, à la base ça se fait objet par objet. |
|
| |
Kangourou pas sympa Adepte de la Grande Tasse Bleue
Nombre de messages : 147
Date d'inscription : 24/01/2009
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Lun 23 Mar 2009 - 8:30 | |
| Salut et merci pour ta réponse, Pour ce qui est du défilement fluide, c'est optionnel, Par contre pour ce qui est du défilement horizontal, je n'y arrive vraiment pas. Je ne sais pas comment faire pour n'avoir qu'une ligne ! J'ai lu sur le forum anglophone qu'il fallait simplement faire ça: - Citation :
- Sure, just +1/-1 the InvWindow's .TopItem.
http://www.bigbluecup.com/yabb/index.php?topic=34873.0Mais au risque de paraître stupide, je n'ai pas trouvé où je devais modifier ça
Dernière édition par Kangourou pas sympa le Lun 23 Mar 2009 - 18:04, édité 1 fois |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Lun 23 Mar 2009 - 8:47 | |
| Tu peux faire comme çà : - Code:
-
function ButtonGauche_OnClick(GUIControl *control, MouseButton button) { if (IW.TopItem > 0) IW.TopItem--; }
function ButtonDroit_OnClick(GUIControl *control, MouseButton button) { if (IW.TopItem < IW.ItemCount - IW.ItemsPerRow) IW.TopItem++; }
IW, c'est le nom de ton InventoryItems de ton GUI les boutons, s'appellent ButtonGauche et ButtonDroit. |
|
| |
Kangourou pas sympa Adepte de la Grande Tasse Bleue
Nombre de messages : 147
Date d'inscription : 24/01/2009
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Lun 23 Mar 2009 - 12:22 | |
| Merci avec ton code j'ai à peu près quelque chose qui marche, j'ai du inverser un truc, mais bref, ça marche. C'est super Par contre, savez-vous pourquoi quand je clique sur une flèche l'inventaire disparaît ? |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Lun 23 Mar 2009 - 13:19 | |
| - Kangourou pas sympa a écrit:
- Par contre, savez-vous pourquoi quand je clique sur une flèche l'inventaire disparaît ?
Y a quoi dans la fonction "onclick" du bouton ? |
|
| |
Kangourou pas sympa Adepte de la Grande Tasse Bleue
Nombre de messages : 147
Date d'inscription : 24/01/2009
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Lun 23 Mar 2009 - 17:48 | |
| Salut merci pour ton aide. En fait j'ai le code que tu m'as donné si je ne m'abuse: - Code:
-
function btnInvUp_Click(GUIControl *control, MouseButton button) { if (invCustomInv.TopItem < invCustomInv.ItemCount - invCustomInv.ItemsPerRow) invCustomInv.TopItem++; }
function btnInvDown_Click(GUIControl *control, MouseButton button) { if (invCustomInv.TopItem > 0) invCustomInv.TopItem--; } Merci de m'aider, Je sais que je brûle surement les étapes mais j'essaie d'avoir mon interface au point pour me lancer dans la suite. |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Lun 23 Mar 2009 - 17:52 | |
| Quand tu clics sur une des 2 fleches, çà scroll l'inventaire, et ensuite çà ferme le GUI ? c'est çà ??? |
|
| |
Kangourou pas sympa Adepte de la Grande Tasse Bleue
Nombre de messages : 147
Date d'inscription : 24/01/2009
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Lun 23 Mar 2009 - 18:00 | |
| Coucou, Alors en fait c'est dans l'autre ordre, Ça me ferme l'inventaire et ça scroll. |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Lun 23 Mar 2009 - 18:07 | |
| Les 2 boutons sont bien sur le même GUI que l'inventaire ? |
|
| |
Kangourou pas sympa Adepte de la Grande Tasse Bleue
Nombre de messages : 147
Date d'inscription : 24/01/2009
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Lun 23 Mar 2009 - 18:34 | |
| Oui, je te fais un petit screen pour te situer: Edit: Ma version: AGS Editor .NET (Build 3.1.2.82) v3.1.2 SP1, February 2009 |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Mar 24 Mar 2009 - 10:44 | |
| Il semblerait que quand on clic sur un bouton d'un GUI défini avec Visibility = When mouse moves to top of screen, la fonction associée s'execute (si elle existe), et le GUI disparait. J'ai pas trouvé de paramêtre pour changer ce comportement :s Enfin, voici une parade : - défini la visibility du GUI en Normal, initialy off (=> le GUI est Invisible) - ajoute ces 2 lignes dans la fonction repeatedly_execute() du Global Script : - Code:
-
if (mouse.y <= 15) gInventory.Visible = true; if (mouse.y > 75) gInventory.Visible = false;
-> 15, c'est le PopupYPos -> 75, c'est la hauteur du GUI |
|
| |
Kangourou pas sympa Adepte de la Grande Tasse Bleue
Nombre de messages : 147
Date d'inscription : 24/01/2009
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Mar 24 Mar 2009 - 11:04 | |
| Parade nickelle capt'ain, Merci beaucoup ! |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Mar 24 Mar 2009 - 12:11 | |
| Une deuxieme méthode + jolie : - la visibility du GUI en Normal, initialy on (le GUI sera visible) - le Top du GUI à -75 (75 = la hauteur du GUI, donc le GUI sera en dehors de l'écran) - ces quelques lignes dans la fonction repeatedly_execute() du Global Script: - Code:
-
if (mouse.y <= 15) { if (gInventory.Y < 0) gInventory.Y+=5; } if (mouse.y > 75) { if (gInventory.Y > -75) gInventory.Y-=5; } |
|
| |
Kangourou pas sympa Adepte de la Grande Tasse Bleue
Nombre de messages : 147
Date d'inscription : 24/01/2009
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Mar 24 Mar 2009 - 12:12 | |
| Merci pour cette seconde méthode, Je vois bien ce qu'elle fait, Par contre, en quoi est-elle plus propre, ou plus jolie ? |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Mar 24 Mar 2009 - 12:15 | |
| Avec cette methode, le GUI apparait et disparait progressivement... enfin chacun ses goûts ! |
|
| |
Kangourou pas sympa Adepte de la Grande Tasse Bleue
Nombre de messages : 147
Date d'inscription : 24/01/2009
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Mar 24 Mar 2009 - 15:33 | |
| Ah, ça je ne m'en était pas rendu compte en lisant simplement le code, Bon ben je vais modifier tout ça alors, merci beaucoup ! Edit: Je me permets une amélioration, J'ai passé l'inventaire en: Normal, initially off Et dans le repeatedly_execute j'ai mis: - Code:
-
if (mouse.y <= 15) { gInventory.Visible = true; if (gInventory.Y < 0) gInventory.Y+=5; } if (mouse.y > 75) { if (gInventory.Y > -75) gInventory.Y-=5; } Sans cette modification, l'inventaire apparaît une seconde au lancement du jeu, ce qui est un peu dommage |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| |
| |
Kangourou pas sympa Adepte de la Grande Tasse Bleue
Nombre de messages : 147
Date d'inscription : 24/01/2009
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Mar 24 Mar 2009 - 15:52 | |
| Si, si, J'ai copié ton code, et au démarrage du jeu l'inventaire et visible, Or le curseur n'est pas en haut de l'écran. Il disparaît tout de suite, mais au démarrage il est visible. C'est peut-être une question d'ordre de mes fonctions dans mon GlobalScript ? |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Mar 24 Mar 2009 - 16:28 | |
| Tu as bien çà ? |
|
| |
Kangourou pas sympa Adepte de la Grande Tasse Bleue
Nombre de messages : 147
Date d'inscription : 24/01/2009
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Mer 25 Mar 2009 - 12:22 | |
| Ah, effectivement je n'avais pas ça, dsl. Par contre j'ai une petite question pour ma compréhension. A quel endroit est-ce qu'on définit jusqu'où va descendre l'inventaire ? |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Mer 25 Mar 2009 - 13:34 | |
| ici : - Code:
-
if (mouse.y <= 15) { if (gInventory.Y < 0) gInventory.Y+=5; } en clair = si le haut du GUI est negatif, on le fait descendre de 5 pixel |
|
| |
Kangourou pas sympa Adepte de la Grande Tasse Bleue
Nombre de messages : 147
Date d'inscription : 24/01/2009
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Mer 25 Mar 2009 - 13:44 | |
| Ah bien sûr, Merci ! Au fait, sur le forum anglais quelqu'un m'a montré un inventaire qui scroll de manière douce, Est-ce tu/vous pourriez m'aider à l'adapter ? |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Mer 25 Mar 2009 - 18:19 | |
| - Kangourou pas sympa a écrit:
- Au fait, sur le forum anglais quelqu'un m'a montré un inventaire qui scroll de manière douce,
Est-ce tu/vous pourriez m'aider à l'adapter ? Tu as le lien du topic ? ou le source ? |
|
| |
Kangourou pas sympa Adepte de la Grande Tasse Bleue
Nombre de messages : 147
Date d'inscription : 24/01/2009
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? Mer 25 Mar 2009 - 18:49 | |
| |
|
| |
Contenu sponsorisé
| Sujet: Re: ScrollLeft et ScrollRight pour un inventaire horizontal ? | |
| |
|
| |
| ScrollLeft et ScrollRight pour un inventaire horizontal ? | |
|