Pions sur un plateau de jeu

Signaler
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
-
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
-
Bonjour à tous,

Je suis en train de réaliser un monopoly. J'ai donc mis une PictureBox avec le Plateau de jeu et je souhaite y placer mes pions ronds.
Je vais donc créer autant de PictureBox que de pions mais je n'arrive pas à trouver des pions ronds sans contour donc sans doute au format png et j'aurais voulu savoir comment en faire.

merci par avance.

10 réponses

Messages postés
128
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
2 août 2009
5
Ce n'est pas optimal de créer autant de pictureBox que de pions.
Regarde pour dessiner l'image de ton pions au lieu de créer une pictureBox et de lui donner une image.
Messages postés
128
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
2 août 2009
5
mmmh sur l'événement Paint de ta pictureBox, regarde e.Graphics.DrawImage();
Tu donnes à cette méthode une Image et un point qui représentera la Location de ton image.
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
5
Merci,

Pour la localisation avec Point, j'avais déjà trouvé.

J'ai réussi à trouver des images en png mais une fois mais le problème est que la picturebox est carrée et le contour reste gris, il n'y aurait pas moyen de faire en sorte que le contour soit incolore ?
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Salut, lemmingperceval a raison, il ne faut pas créer une PictureBox pour chaque pion, mieux vaut dessiner directement dans la PictureBox, principale, ou un contrôle ou même directement sur la forme. Il te faut une classe Sprite qui gère la transparence des bitmaps ( PNG ou pas.. ) avec la methode Bitmap.MakeTransparent. Inspire toi de ce thread :

http://www.csharpfr.com/infomsg_CONTROL-TRANSPARENT_536854.aspx
Messages postés
128
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
2 août 2009
5
Petit plus qui peut être bien pratique. Par expérience je recommande pas le graphique sur un Form. Le control est pas du tout optimisé et le ralentissement est vraiment pas négligeable. Le mieux reste la pictureBox, meme qu'il y a des sources où l'on dessine sur un panel.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Form, PictureBox, Panel.. tout ça c'est la même chose ça dérive de la classe Control et ce n'est qu'un wrapper managé pour un handle de fenêtre Win32.
Messages postés
128
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
2 août 2009
5
Oula j'ai pas encore eu mon cours sur les wrapper managé!
Tu dois mieux t'y connaitre que moi, donc je sors...

Non non le problème avec le Graphics sur le Form s'était présenté lorsque j'avais fais une application où je redimensionnais/déplacer des Rectangles.
Avec un rectangle ca allait moyen, mais a partir de 10 rectangle c'était la catastrophe, même en rafraichissant juste la zone du rectangle modifié.
Du coup en voyant dans la doc que le PictureBox est fait pour dessiner dessus, j'ai changé la Form pour un PictureBox, c'est tout de suite mieux allé.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Pour éviter ce genre de problème on utilise un double buffer, c-à-d qu'on dessine tout sur un bitmap en mémoire, donc invisible et c'est seulement après qu'on affiche le bitmap dans la forme, il y a donc qu'une seule opération de dessin sur la forme ( même si tu dessines 1 milliard de rectangles.. ).
Messages postés
128
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
2 août 2009
5
ouais c'est juste le double buffer, t'es l'chef!
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
5
Merci, je vais essayer de regarder ça ce week-end !