[GlScene] Création d'un menu de jeu [Résolu]

vaginator120 22 Messages postés mardi 20 avril 2004Date d'inscription 12 mars 2007 Dernière intervention - 23 nov. 2005 à 16:37 - Dernière réponse : f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention
- 25 nov. 2005 à 23:13
Bonjour, après avoir passé quelques temps à chercher je pose ma question ici:

Comment fait-on un menu avec Glscene ?

Un menu typique de jeu, avec de la transparence et la possibilité de personnaliser les titres..

J'ai vu dans Glscene le composant GLGameMenu, mais je n'arrive pas à
m'en servir.J'ai aussi testé les compsants HUD et GUI mais ça ne me
convient pas (HUD n'est pas interactif et GUI ne donne pas une
interface de 'jeu')

Donc si vous connaissez des sites ou des tutoriels sur le sujet je suis preneur.



Merci.
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 25 nov. 2005 à 23:13
3
Merci
yep! comme je t'ai dis, j'en aurais egalement besoin donc ça ne resteras pas en plan longtemps ...



et comme tu peux le constater dans la source de HUDMenuEngine, y'a beaucoup de code en deadzone...

donc encore beaucoup de chose a faire ^^

Merci f0xi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 75 internautes ce mois-ci

Commenter la réponse de f0xi
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 23 nov. 2005 à 21:24
0
Merci
Regarde les exemples de glscene :



demo/interface/fadingintf

demo/interface/guidemo
Commenter la réponse de f0xi
vaginator120 22 Messages postés mardi 20 avril 2004Date d'inscription 12 mars 2007 Dernière intervention - 24 nov. 2005 à 12:32
0
Merci
Merci pour la réponse,

j'ai deja regardé les demos bien sur (vu que c'est a peu près la seule documentation fournie..)

Je n'ai pas compris ce que je pouvais faire de fadingintf vu que ça
utilise des objets 3d et les gui ne conviennent pas à l'effet voulu.

En fait je voudrais un menu comme les consoles où on selectionne avec les fleches ou la souris.Par exemple :



[Creer une partie]

[Option]

[Quitter]





Et que je puisse lui donner de la transparence, des effets..
Commenter la réponse de vaginator120
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 24 nov. 2005 à 22:29
0
Merci
justement pour cela que j'ai mis Fadinintf car il montre comment
detecter quand la souris est sur un objet 3D et appliquer des effets en
consequence.

de la tu peu aussi bien claquer du texte sur un objet 3D ou egalement travailler avec des HUDText.



tu peu meme calculer des Zones de click facilement si tu travail avec des BitmapsFont

vus que la position X,Y d'un HudText correspond aux coordonnées souris standard.



donc ademettons que ton Texte soit :

QUITTER

que les glyphs de ta BitmapFont fasse 32pixels de large et de haut sans interval X et Y.



TailleQuitterX = Length('quitter') * 32;

TailleQuitterY = 32



StartQuitterX = Quitter.Position.X;

EndQuitterX = StartQuitterX + TailleQuitterX;

StartQuitterY = Quitter.Position.Y;

EndQuitterY = StartQuitterY + TailleQuitterY;



ensuite tu n'a plus qu'a recuperer la position de la souris :

Mouse.CursorPos.X et Y



deplacer l'axe par rapport a ta Fiche :

MouseX := Mouse.CursorPos.X - Form1.Left;

MouseY := Mouse.CursorPos.Y - Form1.Top;



Deplacer l'axe par rapport a SceneViewer

MouseX := MouseX - SceneViewer.Left;

MouseY := MouseY - SceneViewer.Top;



tester si la souris est dans la zone de quitter (declarer l'unitée Math dans uses pour InRange)



if InRange(MouseX, StartQuitterX, EndQuitterX) and InRange(MouseY, StartQuitterY, EndQuitterY) then

MouseInQuitter := True

else

MouseInQuitter := False;



et ensuite traiter les message de boutton souris dans SceneViewer.OnClick



if ssLeft in Shift then

if MouseInQuitter then ClickQuitter;

if MouseInOption then ClickOption;



etc...



pour le clavier, declarer l'unitée Keyboard dans uses



et traiter les message clavier dans le Cadencer



if IsKeyDown(VK_UP) then MonterDansLeMenu;

if IsKeyDown(VK_DOWN) then DescendreDansLeMenu;

if IsKeyDown(VK_RETURN) then AllerAuMenu(MenuIndex);





bon ça necessite d'ecrire sois meme un gestionnaire souris et clavier mais au final ça marcheras nickel.
Commenter la réponse de f0xi
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 25 nov. 2005 à 00:16
0
Merci
bon



don't move, je te prepare un code source de chez code source pour faire des menu avec les GLHudText.



je suis en train de faire un objet THudTextLayer qui permet de gerrer
ça avec fonction de detection des OnMouseOver, OnMouseClick, on
Keypress ect..., procedure SetModulateColor etc...



en plus ça vas m'etre utile a moi aussi donc ... autant que je m'y penche serieusement...



peut etre meme que j'en ferais un composant aprés ... ce serat plus facile d'utilisation.
Commenter la réponse de f0xi
vaginator120 22 Messages postés mardi 20 avril 2004Date d'inscription 12 mars 2007 Dernière intervention - 25 nov. 2005 à 08:49
0
Merci
Merci f0xi, je continue a chercher de mon coté et je t'informerais si je trouve autres chose entre temps.
Merci encore
Commenter la réponse de vaginator120
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 25 nov. 2005 à 11:07
0
Merci
bon ... ça prend forme doucement ...



le composant fonctionne correctement ... utilisation relativement simple.



tu fait un FastCreate dans une variable type THUDMenuItem

ensuite tu check le IsMouseOver dans le OnMouseMove du sceneviewer

et tu check le IsMouseClick dans le OnClick du sceneviewer.



pour l'instant je n'ai pas encore passé le composant en dans la palette de compos...

car je develope un manager pour ça pour pouvoir directement bossé facilement avec ...



je te file une demo et la source : http://darklineteam.free.fr/glscene/hudmenuengine.rar



jette un oeuil ... par contre, pas encore de commentaire, bref premier jet du compo.



tu peu l'utiliser comme ça ... ou attendre qu'il soit totalement finis ...

si tu remarque des bugs, ou des ameliorations possible, optimisation ect ... no probleme

mp moi.
Commenter la réponse de f0xi
vaginator120 22 Messages postés mardi 20 avril 2004Date d'inscription 12 mars 2007 Dernière intervention - 25 nov. 2005 à 12:04
0
Merci
Je te remercie f0xi , c'est exactement ce genre de menu que je souhaitais.
Une fois mon projet fini , je te montrerais a quoi ton exemple aura contribué.
Je vais analysé ton code pour essayé de faire ce que je souhaite avec .
Merci encore et si tu continue fais moi signe
Commenter la réponse de vaginator120

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.