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

Développement 2D, 3D et Jeux Discussion :

[2D] Mini-projet : question pour une interface graphique


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre régulier Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Points : 112
    Points
    112
    Par défaut [2D] Mini-projet : question pour une interface graphique
    Bonsoir,

    Pour commencer je ne suis pas sûre d'être sur le bon forum, auquel cas je m'en excuse d'avance mais c'était celui qui me paraissait le plus adéquat...

    Voilà, j'ai une sorte de mini-projet à développer qui consiste à gérer des processus par des sémaphores (de la programmation système sous Unix donc) et ce, en C.
    En fait, j'aurai voulu implémenter une interface graphique en 2D mais je ne sais pas du tout par où chercher et comment cela va pouvoir se faire.

    Je m'explique : mon programme doit gérer des trajets (voitures, bus, TGV) entre des villes de France. J'avais donc pensé à une interface avec le contour de la France et des points situant les villes que je traverse. Et donc, quand les processus sont lancés, les trajets seront donc vu par des lignes qui avanceront et relieront chaque ville (heu je sais pas si je suis bien claire... )

    J'aurai donc juste voulu savoir si c'était possible et comment !

    merci beaucoup de votre attention !

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Ton projet est possible dans la plupart des bibliothèques graphiques... Tu pourais le faire en Java, en OpenGL ou en DirectX par exemple...

    Par contre, fait attention, tu risques de passer 70% du temps à mettre en place l'interface et 30% pour le projet lui-même. Donc dépendant de la difficulté du projet par rapport à ton niveau, il faut bien y réfléchir...

    Jc

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Points : 189
    Points
    189
    Par défaut
    du directx sous unix heu....

    sinon, moi je le ferais en sdl, ce qui est le lus simple a mon humbre avis pour de la 2D (oubli les api 3D)

    a++

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 943
    Points : 1 156
    Points
    1 156
    Par défaut
    oui SDL est un bon choix.
    pour la GUI il y a SDL_gui, mais d'autres existent (cf le site de la SDL)

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Sinon tu peux aussi viser une interface graphique moins orientée "temps réel", genre GTK etc...

  6. #6
    Membre régulier Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Points : 112
    Points
    112
    Par défaut
    D'accord merci pour ces conseils !
    Oui je n'oublie pas non plus que je suis sous Linux (j'ai commencé à toucher à l'OpenGL mais sous windows et c'est déjà pas evident !)

    Donc si j'utilise SDL, comment faut-il que je configure cela sous Linux ?

    Je suis bien sur consciente que cela risque d'etre long et difficile mais je voulais qd même essayer et puis mon programme est pratiquement terminé

    merci de votre aide !

  7. #7
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Cette question se pose sur le forum Linux...

    Mais pour répondre à ta question, cela dépend de ta distribution, sous un debian-like

    apt-get install libsdl1.2-dev libsdl1.2debian
    devrait suffire pour un début...

  8. #8
    Membre régulier Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Points : 112
    Points
    112
    Par défaut
    D'accord merci bien, ça marche et j'ai trouvé un bon tutoriel sur le site

    Par contre, où faut-il que je cherche dans les explications SDL pour faire ce que je veux ? c'est-à-dire générer des trajets et avoir le contour le la France pour fond ? les textures existent aussi en SDL ?

    J'avoue que comme je ne connais pas du tout SDL je ne sais où chercher...

    merci

  9. #9
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 943
    Points : 1 156
    Points
    1 156
    Par défaut
    En fait SDL est une API graphique comme OpenGL, directgraphic, ...

    Prenons le cas de OpenGL car ce qui t’intéresse est linux, là ou OpenGL permet juste de faire de l’affichage (dans un gestionnaire), SDL permet de faire du réseau, du son, charger des textures, E/S, …

    SDL fonctionne par extensions, exemples, pour les textures : SDL_image, le son : SDL_mixer, etc…

    Dans ton cas, tu chope paint ou paint++ (c’est plus pratique ;-) style gimp) et tu fais une texture de ta carte (France si j’ai bien compris).
    Puis tu réalises une bibliothèque de textures de petits trajets du style :
    - A <-> B
    - B <-> C
    - E <-> C

    Et ensuite pour faire le trajet A <-> E tu superposes :
    - la carte
    - A<-> B <-> C <-> E

    Bien sur tes textures de trajets (simple coup de feutre par exemple) auront un fond transparent (alpha).

    Je le ferais comme ca à chaud, mais tu dois pouvoir optimiser en cherchant un peu.

  10. #10
    Membre régulier Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Points : 112
    Points
    112
    Par défaut
    Hmm d'accord je comprends mieux !

    Donc je créé mes textures et après je les affiche et les superpose.
    Il y a aussi possibilité de charger des textures en SDL ?

    merci beaucoup pour cette explication en tout cas !

  11. #11
    Membre régulier Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Points : 112
    Points
    112
    Par défaut
    Pour être plus précise, j'ai récupérer un bout de code affichant une fenetre en SDL et attendant l'appui d'une touche pour se fermer (le truc de base quoi).

    J'ai voulu rajouter une texture quelconque pour voir, j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    texture = SDL_LoadBMP("test.bmp");
    à la fin de void initSDL() mais la fenetre disparait aussitot apres s'etre affichee...

    donc je suppose (en meme temps c'etait previsible que ce soit pas aussi simple ) avoir oublié de nombreuses choses mais j'essaye de tatonner pour apprendre et je ne trouve pas de tutoriel expliquant l'utilisation de texture avec SDL...
    Si quelqu'un connait un site avec quelques exemples cela m'aiderait pas mal !

    merci de votre aide !

  12. #12
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Des tutoriaux SDL sont assez faciles à trouver et sinon la documentation est assez bien faite (sisi, une doc utilisable )

    Par contre si c'est pour faire de la 2D basique, à moins d'être une torche en openGL, je conseille de se limiter à SDL. SDL permet d'obtenir très faciliement un contexte openGL mais est aussi capable de faire de la 2D (avec accélération matérielle) par lui même. Dans ce cas tout se fait avec des surfaces 2d et il est très facile de charger une image dedans et de mettre ça à l'écran (bien plus qu'avec des textures).


    http://anomaly.developpez.com/tutoriel/sdl/
    http://www.startjeux.com/index.php?page=110
    http://www.gnurou.org/Writing/SDLTutoriel1
    etc.

  13. #13
    Membre régulier Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Points : 112
    Points
    112
    Par défaut
    oki merci je vais voir tout ça

    Oui oui je comptais utiliser SDL, je souhaite simplement charger une image et tracer des lignes dessus

  14. #14
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 943
    Points : 1 156
    Points
    1 156
    Par défaut
    Biensur SDL permet de charger des textures :
    - SDL_image (tous formats, directement exploitable dans SDL)
    - Devil (tous format aussi, mais pourquoi quand SDL le fait aussi)

    Ensuite ca n'engage que toi, regarde ce qui te semble le mieux (+ de doc)

    L'idée générale des textures, est de charger une image avec un LOAD,
    puis stocker l'ID retourné dans un map, ainsi toutes tes textures sont disponible dans ton projet.

    SDL permet de faire de très bonnes choses à lui tout seul et OpenGL ne se justifie pas vraiment sauf si tu as un peu de temps et que tu souhaite t'y initier.

  15. #15
    Membre régulier Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Points : 112
    Points
    112
    Par défaut
    Ben OpenGL m'interesse aussi et j'ai commencé à travailler un peu dessus mais pour ce projet je prefere me mettre au SDL, ça m'a l'air plus simple pour le peu de choses que je veux en faire !

    Je vais essayer de me débrouiller avec les codes que je trouve sur le net alors

    merci à vous tous

  16. #16
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par kitsune
    Je vais essayer de me débrouiller avec les codes que je trouve sur le net alors
    C'est la meilleure chose à faire mais si tu as un problème, crée un post et pose une question

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question pour une interface graphique
    Par Loufoq dans le forum API graphiques
    Réponses: 8
    Dernier message: 04/02/2009, 23h22
  2. Quel langage pour une interface graphique digne de ce nom ?
    Par Guillaume222 dans le forum Langages de programmation
    Réponses: 11
    Dernier message: 06/11/2007, 15h58
  3. Choix d'un langage pour une interface graphique
    Par MortDansLAme dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 30/06/2007, 01h29
  4. Quelle bibliothèque pour une interface graphique C++
    Par peace_info dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 16/03/2007, 14h42
  5. Composants à utiliser pour une interface graphique Java
    Par nicolas.pied dans le forum Composants
    Réponses: 4
    Dernier message: 28/11/2005, 20h27

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