Partage
  • Partager sur Facebook
  • Partager sur Twitter

SDK

Windows form

Sujet résolu
    14 juin 2011 à 18:29:16

    Bonsoir,

    J'ai fait un petit soft en windows form qui crée des maps pour mon jeu vidéo, un jeu de stratégie en 2D.
    Les cartes sont créées sous la forme de .txt où chaque lettre de l'alphabet représente un terrain (sable, cailloux...).
    Auriez-vous une idée pour obtenir un visuel de la map sans avoir à la charger ?

    Merci et bonne soirée


    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      14 juin 2011 à 18:38:32

      Je comprends pas ta question.
      Si tu veux obtenir un visuel de la map, il te faut forcément ouvrir le fichier.
      • Partager sur Facebook
      • Partager sur Twitter
        14 juin 2011 à 19:55:26

        Je veux avoir un visuel de la map sans ouvrir le jeu. Je ne veux plus générer mes cartes devant un fichier texte mais devant le rendu final.

        Il y aurai deux possibilités mais je ne vois pas comment les appliquer:

        1) On prend des "pinceaux" de textures que l'on applique à un quadrillage, comme dans Paint. De ce fait, on voit directement ce que l'on veut faire. Le curseur devient la texture en quelque sorte.

        2) Au fur et à mesure que je tape mes caractéres, une image se forme à côté avec une représentation de la map. Ca serait mes textures qui s'appliqueraient les unes à la suite des autres.

        J'espere que je me suis mieux faire comprendre :)


        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          14 juin 2011 à 20:28:30

          La deuxième solution me paraît relativement aisée ; utilise l'évènement TextBox.TextChanged pour surveiller les changements, crée un Dictionary contenant d'une part les chars et de l'autre les images, et ensuite tu peux te faire soit plein de PictureBox soit une grosse PictureBox dont tu manipules l'élément Graphics.
          • Partager sur Facebook
          • Partager sur Twitter
            14 juin 2011 à 20:53:46

            Citation : Aethec

            La deuxième solution me paraît relativement aisée ; utilise l'évènement TextBox.TextChanged pour surveiller les changements, crée un Dictionary contenant d'une part les chars et de l'autre les images, et ensuite tu peux te faire soit plein de PictureBox soit une grosse PictureBox dont tu manipules l'élément Graphics.



            Pourrais-tu developper à propos des élements Graphics s'il te plaît ?
            Le soucis c'est que j'utilise des cases hexagonales dans mon jeu et du coup, pas moyen de superposer les picturesbox.
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              14 juin 2011 à 22:13:48

              Bitmap b = new Bitmap( myPictureBox.Width, myPictureBox.Height );
              using ( Graphics g = Graphics.FromImage( b ) )
              {
                  // ...
              }
              pictureBox1.Image = b;
              


              La documentation sur Graphics et toutes ses méthodes (dessins de lignes, rectangles, cercles, images, etc.) se trouve ici : http://msdn.microsoft.com/fr-fr/librar [...] graphics.aspx

              (pas sûr que ce soit la meilleure façon de dessiner dans une PictureBox, mais ça fait longtemps que j'ai pas fait de WinForms, désolé :( )
              • Partager sur Facebook
              • Partager sur Twitter
                15 juin 2011 à 0:38:40

                Oh je vois, super, merci bien.
                Par contre, j'ai une petite question. Je compte utiliser:

                Citation : MSDN

                Méthode publique DrawImage(Image, Point) Dessine le Image spécifié, en utilisant sa taille physique d'origine, à l'emplacement indiqué.



                Or elle n'apparait pas lorsque j'écris Graphics. (...). Cette méthode n'apparaît pas dans la liste déroulante.

                Une fois que j'aurai ceci, je n'aurai plus qu'à afficher à la suite les images correspondant aux lettres, ça devrai aller.

                Merci pour ton aide ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  15 juin 2011 à 14:40:28

                  C'est "g" qu'il faut utiliser dans l'exemple situé au dessus !
                  "g" est ici une instance de la classe Graphics, récupérée de l'image "b" via la fonction statique "Graphics.FromImage()"
                  :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    15 juin 2011 à 15:00:22

                    Merci beaucoup !
                    Problème résolue.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    SDK

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown