IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Moteurs 3D Discussion :

[open gl] tutorial sur IHMs ?


Sujet :

Moteurs 3D

  1. #1
    Membre régulier Avatar de Merfolk
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 170
    Points : 113
    Points
    113
    Par défaut [open gl] tutorial sur IHMs ?
    Hello,

    je suis en train de programmer un mini jeu, composé en gros de carrés et triangles rouges


    soucis : Comment fait on toute la partie "interface" (ihm) ?

    si je résume une appli opengl telle que lue & appris partout, c'est un timer qui appelle "un repaint" X fois par seconde... faire un rendu d'une scène ,c'est bien gentil, mais ça ne représente pas du tout une application finie.


    il y a au moins une dizaine d'écrans à faire :
    "intro"
    "menu"
    "game over"
    "scores"
    "settings", chaque menu du settings
    "écran de jeu"
    "chaque sous écran de jeu"..

    + sur chacun de ces écrans, l'interaction à gérer



    je me suis inventé mon propre système :


    // une classe abstraite ECRAN
    - une methode RENDER
    - une methode onClic

    // une sous classe par ECRAN

    // "le main" est une liste d'ECRANS + indice ecran courant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //boucle principale du programme :
     
    onClic (x,y): 
    ecranCourant.clic(x,y);
     
    draw :
    ecranCourant.draw();
    ---------------------------

    puis l'intérieur de chaque écran :


    une classe BOUTON
    - x, y
    - on Clic

    un ECRAN possède une liste de BOUTON



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    //le onClic d'un ecran :
    foreach( mesboutons as bouton)
        if (je suis dans le X Y du bouton )
           bouton.clic
     
     
    // et par exemple dans le "bouton clic " on peut faire
    // main.ecranCourant = un autre écran

    ça fonctionne, je suis content, mais bon, je m'en sort uniquement car je fais de le 2D et donc je maitrise le X Y à l'écran ^^



    Je gère tout comme ça, mais c'est de l'amateurisme complet
    y a t il une façon "officielle / bien " de gérer les ihms ?

    Comment ça fonctionne en vrai, toute la gestion des menus d'un jeu ? (exemple Quake... ou façon warcraft III)
    ça représente 10000000 de lignes de code ?


    ps ; je ne prétends pas faire un truc aussi bien hein ... mais je dis juste
    "pas d'ihm -> on va pas bien loin". C'est très important toute cette partie.
    j'en fous de dessiner une théière en mipmap , je veux faire une application entière. Cad toute une cinématique d'écrans, des boutons cliquables qui déclenchent des actions, qui modifient le jeu etc.


    merci
    Chasseur de bug en activité
    L'erreur est humaine, mais pour vraiment foutre le bordel, on a besoin d'un ordinateur

  2. #2
    Membre averti Avatar de yodaime
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    282
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2006
    Messages : 282
    Points : 340
    Points
    340
    Par défaut
    Bonjour,

    Reporte toi a la FAQ opengl :

    http://jeux.developpez.com/faq/opengl/?page=libs

  3. #3
    Membre régulier Avatar de Merfolk
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 170
    Points : 113
    Points
    113
    Par défaut
    en fait je travaille sur l'iphone
    aucune de ces library n'existe à ma connaissance. Ce n'est que du "pur opengl es" de A à Z

    j'ai un "draw" et "onTouch x,y" ...c'est tout

    donc comment fait on toute la partie GUI dans un jeu opengl ?
    Chasseur de bug en activité
    L'erreur est humaine, mais pour vraiment foutre le bordel, on a besoin d'un ordinateur

  4. #4
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    Y'a pas de façon vraiment standard et parfaite de faire... Tu fais tes boutons avec tes tests d'input (forcément). Après ce que tu en fais peut se faire de x façons, par exemple, ta partie GUI implémente quelque chose s'approchant du pattern observateur dans lequel chaque bouton a un ID et émet un signal clicked(int btnID) (ou appelle une fonction onClicked(int btnID) dans une interface).
    De là, le gestionnaire de menu courant implémente cette fonction et peut faire un switch sur l'id pour savoir quoi faire ensuite. A noter que par "menu courant", ça peut être plus qu'un seul écran, ça peut être toute une catégorie, tel le menu principal.

  5. #5
    Membre averti Avatar de yodaime
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    282
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2006
    Messages : 282
    Points : 340
    Points
    340
    Par défaut
    D'après ce que j'ai lu, le framework qui gère la partie IHM sur l'iphone c'est UIKit.

    Il faut donc que tu integre Opengl avec UIKit !

    Une petite recherche google : opengl et uikit.

    Tu devrait pouvoir trouver ton bonheur. Bonne chance !

Discussions similaires

  1. Tutorial sur les sockets
    Par Reb0rn dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 14/06/2006, 10h25
  2. y'a t'il un tutorial sur TIBQUERY ?
    Par lassmust dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/03/2006, 00h03
  3. [WIFI]Tutorial sur installation et pb wifi ?
    Par elitost dans le forum Hardware
    Réponses: 3
    Dernier message: 21/02/2006, 14h43
  4. Tutorial sur HTMLEditorKit
    Par sniperseb dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 18/01/2006, 19h23
  5. Un tutorial sur les font ?
    Par Clad3 dans le forum OpenGL
    Réponses: 2
    Dernier message: 16/03/2005, 10h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo