Comme l'indique le sujet, je souhaite réaliser un défilement d'images sur une tilemap en SDL2.
J'ai réussi à faire ça mais j'ai un petit problème de visuel :
Par exemple, si le fond se déplace dans un sens, les images doivent se déplacer dans le sens inverse.
J'ai réussi à faire ça aussi, le problème c'est que lorsque le fond et les images se déplacent, on voit un décalage entre les images et leurs positions.
Si le défilement d'image s'arrête, les images sont remises correctement.
Voici un morceau de code :
1
intspeed1(5);
1
2
if(nb_largeur*largeur-CADRE2_1.w>SCROLLING.x)
{
1
2
3
4
5
6
7
8
9
SCROLLING.x=SCROLLING.x+speed1;
for(inti=0;i<nb_image_tilemap;i++)
{
if(images2[i].movements==1)
{
images2[i].rect.x=images2[i].rect.x-speed1;
}
}
}
SCROLLING est le SDL_Rect qui s'occupe du défilement d'images, nb_largeur est le nombre de tuiles en largeur de la tilemap, largeur est la largeur des tuiles, l'attribut movements des images me permet de décider quelles images sont influencées par le scrolling. Speed est la vitesse du scrolling et des images en déplacement.
Revenons au décalage : lors du défilement, on voit clairement un décalage de 5 pixels ici (selon la valeur de speed), ce décalage disparaît lorsque le défilement n'a pas/plus lieu.
Des idées ? Pourquoi y-a t'il un décalage ?
Merci d'avance.
NB : J'utilise le programme de tilemap de ce site.
EDIT : J'utilise le clic de la souris pour procéder au scrolling.
× 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.