pop70
Messages postés181Date d'inscriptionmardi 6 avril 2010StatutMembreDernière intervention 7 janvier 2012
-
18 déc. 2010 à 18:26
pop70
Messages postés181Date d'inscriptionmardi 6 avril 2010StatutMembreDernière intervention 7 janvier 2012
-
18 déc. 2010 à 18:38
Bonsoir tout le monde, j'ai un problème avec la bibliothèque SFML :
Je veux afficher des surfaces de 50px*50px tout les 50px (normal quoi).
Le fonctionnement :
J'ai un tableau du type int cMap[150-1][130-1], qui contient des chiffres.
En fonction du chiffre dans le tableau j'affiche une image.
Voici le morceau de code qui semble poser problème :
for (int i = 0; i < (150 - 1); i++)
{
for (int j = 0; j < (130 - 1); j++)
{
switch (cMap[i][j])
{
case 0:
SpriteCourant.SetImage (imgTerre);
break;
case 1:
SpriteCourant.SetImage (imgHerbe);
break;
case 2:
SpriteCourant.SetImage (imgPave);
break;
case 3:
SpriteCourant.SetImage (imgFontaine);
break;
case 4:
SpriteCourant.SetImage (imgPosteMaintenance);
break;
case 5:
SpriteCourant.SetImage (imgMaison);
break;
default:
SpriteCourant.SetImage (imgVide);
break;
}
SpriteCourant.SetPosition(i * tc, j*tc);
App.Draw(SpriteCourant);
}
}
Après quelques "calculs", ce code me parait bon, mais dans la fenetre, au lieu d'avoir des surfaces collées les unes aux autres, j'ai UN pixel entre chaque surface !
Et si je veux l'enlever je dois remplacer :
SpriteCourant.SetPosition(i * tc, j*tc);
par :
SpriteCourant.SetPosition(i * tc - i, j*tc - j);
Ce qui en plus de compliquer la tâche d'une manière conséquente.... Ne fonctionne pas ! Cette fois mes surfaces se chevauchent d'UN pixel.