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

Windows Forms Discussion :

[Jeu] Quel composant utilisé


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Par défaut [Jeu] Quel composant utilisé
    Bonjour,
    je développe un jeu en C# d'un bonhomme qui se déplacera dans un labyrinthe. En partant du principe que mon personne est un un objet d'une classe personne et que mon labyrinthe est un tableau d'objets "cellule", quels composants windows form dois-je utiliser pour afficher mon labyrinthe (chaques cases à une image correspondante), et surtout comment afficher mon personnage et le faire bouger en suivant la pression de certaines touches du clavier?


    merci d'avance

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2005
    Messages : 391
    Par défaut
    utilise un tableau de panel ou un tableau de conterneur d image

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    faire un jeu, bonne idée

    Bon, perso, actuellement, si je voulais faire un jeu, je me tournerais peut-etre
    vers l'utilisation du FrameWork XNA... gratuit pour les jeux PC (payant pour
    proposer le jeu sur Xbox) et qui propose pas mal de fonctionnalités et qui
    a la bonne idée de reposer sur DirectX plutot que GDI+ (donc, en terme
    de performance, tu es bien meilleur).

    Maintenant, je fais l'hypothèse que tu te fous de mes conseils (XNA ) et que
    tu veux faire cela en GDI (XNA ne fait que du C# pour info ...

    A mon humble avis, si tu veux de la performance, il ne faut pas passer
    par des composants (type controle) pour les cellules mais plutot passer
    par Un seul et unique objet qui te fait le rendu de tous tes elements

    Donc, pour moi, faire un jeu en C#, revient à avoir un composant
    GameBoard (par exemple) qui est capable de dessiner l'ensemble des
    elements à rendre. ET pour se faire, il possède une grosse méthode Paint()
    qui fait le DRaw dans un bufferedGraphics puis fais le Render() dans le
    graphics de l'application...

    En gros, ca donnerait un truc du genre :

    Paint()
    {
    DrawBackground();
    DrawCells();
    DrawScore();
    DrawPersonnage();
    }

    Apres, pour l'animation des personnages, beh, en principe, ton personnage
    est localisé par une position, donc, à chaque fois que tu fais un changement
    de position, tu dois faire un Invalidate() pour que l'application effectue
    un Redraw (donc un Paint) de ton dessin...

    Bien evidemment, si on etait dans un jeu, on n'aurait pas ce type d'architecture mais plutot une architecture genre :


    While(GameIsOn == true)
    {
    AcquirePosition() // on recupere les appuis claviers, souris, joypad,etc...
    UpdateScene() // mise à jour des informations d'objets, etc...
    RenderScene() // rendu de la scene en appelant le Paint
    }

    La principale différence entre les deux architectures, est que dans le cas
    des jeux "classiques", tu boucles le plus vite possible pour faire les rendus
    (ce qui est bien pratique quand tu as bcp d'objets en mouvement au sein
    de ta forme, evite de passer par la pompe à message windows qui ralenti...)

    PAr contre, si ton jeu est "assez" statique", c'est à dire qu'il y a peu ou pas d'animation en dehors de celle lié aux actions claviers/joypad/Souris (finalement, l'équivalent d'une application standard windows qui attend une action utilisateur pour faire quelque chose), l'option de passer par une archi
    classique windows application (pompe à message, etc...) est pertinente

    A savoir maintenant que pour gérer un joypad (si tu le désires), il faut
    passer par DirectX...

    C'est pour toutes ces raisons qu'il te faut "analyser" le contenu de ton jeu,
    en terme de dessin, d'interaction, d'animation d'objet, de performance. Apres
    cette analyse, tu pourrais porter ton choix sur une appli XNA ou Windows Application... et ensuite, voir si tu veux faire du "bouclage" ou bien
    "du windows classique"

    Voila, j'ai été un peu long, mais bon.. N'hésite pas si tu as d'autres questions ou des précisions à demander

    The Monz, Toulouse

    PS : Pour info, étant dans le monde de la simulation, j'ai "pas mal" regardé et je connais "assez" bien les contraintes qui peuvent induire tel ou tel choix.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Par défaut
    merci de votre aide
    Je vais partir sur GDI+, étant donné que le jeu est assez simpliste, en 2D et consiste juste a déplacer un bonhomme (symbolisé par une image) dans un labyrinthe ou chaque cases est une image.

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    ok , avec GDI+ , ca le fera sans problème...

    Pour des histoires de perfo, essaye de faire le Dessin de ton jeu à un seul endroit
    (mais avec plusieurs fonctions ) qui dessine dans un buffer GRaphics

    Penses à utiliser le double buffering pour les problèmes de flick

    Et surtout, bon courage.. (surtout pour la partie "infographie" )

    The Monz, Toulouse

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Par défaut
    Citation Envoyé par dietrich
    utilise un tableau de panel ou un tableau de conterneur d image
    quels sont les noms de ces composants dans vs? et comment les utilise-t'on?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Par défaut
    personne pour m'aider???

Discussions similaires

  1. Quel composant utiliser pour un jeu de cartes?
    Par Soilwork dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 11/03/2008, 23h03
  2. Quel composant UIB utilisé prodigy ou Jedi ?
    Par Benj2007 dans le forum Bases de données
    Réponses: 1
    Dernier message: 25/08/2006, 20h31
  3. Quel langage utilisé pour manipuler le web ?
    Par KORTA dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 14/07/2004, 21h03
  4. [Debutant(e)]Quel composant utiliser pour faire une grille
    Par elitost dans le forum Composants
    Réponses: 7
    Dernier message: 21/06/2004, 20h44
  5. Quels composants choisir
    Par Sékiltoyai dans le forum Bases de données
    Réponses: 2
    Dernier message: 05/06/2004, 13h45

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