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

SDL Discussion :

Petites questions d'un débutant en SDL


Sujet :

SDL

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Petites questions d'un débutant en SDL
    Bonjour tout le monde.

    Alors voilà je suis actuellement en cours de réalisation d'un projet et j'ai décidé de passer par la SDL pour aboutir à ce que je voudrai obtenir (uniquement de la 2D, donc pas besoin d'openGL).
    J'ai donc commencé à étudier ce langage avec les tutos de Loka (bravo, ils sont super bien faits).

    J'ai réalisé un menu de jeu (Nouveau / Ouvrir / Options / Quitter) dans un fichier menu.cpp (qui contient les boutons) et dans un fichier options.cpp j'ai fait un autre affichage de boutons également (Résolution, Son, Retour au menu). J'ai donc compilé ces 2 fichiers séparément et me voilà avec 2 executables.

    Cependant, je n'arrive pas à faire un lien au niveau des boutons (exemple: si dans menu.cpp on clique sur Options, le programme affiche le contenu de options.cpp).
    Est-ce possible ? ou faut-il tout mettre dans un seul fichier .cpp? et si jamais ce n'est pas la bonne solution, est ce que quelqu'un la connait?

    Merci beaucoup!
    sugarcom@

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Points : 52
    Points
    52
    Par défaut
    Mais avoir deux exécutables pour ce que tu veux faire, c'est faux.

    Tu as fais une classe Menu, j'imagine.

    Ensuite, crée une classe Options dans un autre fichier .cpp, après, on imagine très bien une fonction membre appartenant à Menu qui dit qu'une fois qu'on clique sur le boutons 'options', on lance le menu des options grâce à la classe Options; c'est de l'agregation.

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Je ne sais pas si sugarcoma a fait son programme en C++ ( malgré l'extension ) , mais ce qu'il demande ( à priori ) c'est juste que lorsque l'utilisateur appuie sur le bouton options qu'il y ai une autre fonction qui se lance.

    Normalement quand tu crée une nouvelle classe ( ou nouveau fichier ) tu fais deux fichiers , un .c et un .h
    Le .h regroupe les déclarations de fonctions, le .c regrouppe le corps ( contenu ) des fonctions.
    Donc dans le menu.cpp tu ajoute une ligne ( en haut du fichier ) comme celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include "option.hpp"
    Et dans le code qui verifie si l'utilisateur clique sur option tu apelle la fonction ( qui est dans les fichiers option ) pour afficher le sous menu.

    Au sinon l'idée de Xanto est pas mal , mais que si tu as fait ton programme en C++
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Xanto Voir le message
    Mais avoir deux exécutables pour ce que tu veux faire, c'est faux.

    Tu as fais une classe Menu, j'imagine.

    Ensuite, crée une classe Options dans un autre fichier .cpp, après, on imagine très bien une fonction membre appartenant à Menu qui dit qu'une fois qu'on clique sur le boutons 'options', on lance le menu des options grâce à la classe Options; c'est de l'agregation.
    Bonjour et merci d'avoir répondu aussi rapidement!
    En effet, après avoir bossé tout l'après midi dessus hier, j'ai un peu plus approfondi le langage C++, et en relisant mon post, Xanto tu as raison, je ne dois avoir qu'un seul executable.

    Je pensais éventuellement avoir une classe Menu.cpp et une classe Options.cpp (et leurs headers) puis une classe main.cpp qui viendra en premier appeler Menu. Ensuite, tout se fera au niveau des évènements de la souris, si je clique sur le bouton Options, Quitter, ...

    Ca semble la bonne voie?

    @ LittleWhite:
    Merci pour ces infos, mais je pense faire le programme en c++; j'avais commencé par le faire en C, mais finalement je vais opter pour de la programmation objet.

    Bon dimanche à vous.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Points : 52
    Points
    52
    Par défaut
    Oui, c'est exactement ça. Tu as saisi l'idée. Continue comme ça.

  6. #6
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    SugarComa ce que je te conseille de faire c'est ( je ne connais pas ton niveau en C++) de connaitre un peu la STL et les conteneurs..
    Ensuite pour faire un méchanisme de menu le plus simple c'est une classe menu et une classe bouton...
    La classe bouton comme son nom l'indique permet d'afficher un bouton ( en fait une bitmap ) et du texte dessus à un emplacement donné.
    A ce bouton il faut assigner une fonctionnalité : ouvrir un fichier, nouvelle partie...
    La classe menu possède comme attribut une std::list ou std::vector de CBoutons.
    ( std::list<CBouton> )
    Je te recommande d'étudier vraiment la STL c'est pas si compliqué que cela et bien plus souple...
    Donc par exemple si tu cliques lorsque tu est en mode menu ( il faut un booléen pour le jeu si tu est en menu ou non-jeu actif ), tu regardes si le pointeur de souris est dans la zone d'un des boutons.
    Ensuite il suffit au niveau du bouton d'appeler la fonctionnalité désirée.
    La classe menu permet également d'afficher tous les boutons..
    Si j'ai un instant je peux te faire un bout de code à moins que cela existe déjà sur Developpez.net.
    Cela sera bien plus démonstratif que des explications confuses

  7. #7
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    Tu as ici un exemple de création de menu (sans l'utilisation de STL par contre ni de classe bouton, il est simplifié au maximum) :

    http://fearyourself.developpez.com/t...morpion/part5/

    Il me semble qu'il explique aussi l'interaction menu / jeu dans ce tutoriel

Discussions similaires

  1. Petite question sur RoR (débutant)
    Par Burnsoul dans le forum Ruby on Rails
    Réponses: 3
    Dernier message: 19/08/2011, 16h34
  2. petite question d'un débutant
    Par isoman dans le forum Outils
    Réponses: 2
    Dernier message: 12/06/2008, 16h19
  3. Petite question d'un débutant en C++
    Par faboulous dans le forum C++
    Réponses: 6
    Dernier message: 04/08/2006, 15h43
  4. Petites questions de débutant
    Par mickael.be dans le forum Débuter
    Réponses: 15
    Dernier message: 28/12/2005, 17h06
  5. petite question d'un curieux, débutant en C ...
    Par TutuXoZaure dans le forum C
    Réponses: 10
    Dernier message: 14/12/2005, 01h46

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