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

Résolu
vaginator120 Messages postés 22 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 12 mars 2007 - 23 nov. 2005 à 16:37
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 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.

8 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
25 nov. 2005 à 23:13
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 ^^
3
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
23 nov. 2005 à 21:24
Regarde les exemples de glscene :



demo/interface/fadingintf

demo/interface/guidemo
0
vaginator120 Messages postés 22 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 12 mars 2007 1
24 nov. 2005 à 12:32
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..
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
24 nov. 2005 à 22:29
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
25 nov. 2005 à 00:16
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.
0
vaginator120 Messages postés 22 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 12 mars 2007 1
25 nov. 2005 à 08:49
Merci f0xi, je continue a chercher de mon coté et je t'informerais si je trouve autres chose entre temps.
Merci encore
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
25 nov. 2005 à 11:07
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.
0
vaginator120 Messages postés 22 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 12 mars 2007 1
25 nov. 2005 à 12:04
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
0
Rejoignez-nous