ça dépend quel type de scroll ....
pour un scroll avec des sprites ect (RPG), bah le mieux est d'afficher des sprites en dehors de l'écran (une rangée de + en bas, en haut, à gauche et à droite), comme ça t'as juste à afficher, et si on scroll, bah tu décalles tout ton affichage de x pixels (pour les abscisse, scroll horizontal, même méthode pour le vertical mais avec un "y)
Dès que t'arrives à 16 pxls (sprite de 16*16, ton décalage vaut donc x=16), ça veut donc dire que le sprite que tu avais affiché en dehors de l'écran est maintenant completement affiché (en entier quoi), bah là tu te replaces dans la matrice, une case + loin, et tu remets le décallage de x pixels à 0. (x=0
Ecran de 89 (en rouge = sprite qui sont affiché en dehors de la zone écran) :
000000000000
00000000000
0
00000000000
0
00000000000
0
00000000000
0
00000000000
0
00000000000
0
000000000000
bah tu affiche tout ça pour un décallage de x=0 au début, puis ensuite tu affiches tout à x=2 (en abcisse, par ex, donc tu scrolles vers
la gauche).
Ensuite tu teste if(x=16) {se placer une case plus loin; x=0;}
enfin, j'avais fait ça comme méthode, pas sur que ce soit la meilleure mais elle marche très bien.