I see, but this can still be achieved without changing the coordinates of each cell and having a global ScrollY coordinate instead.
Into the game it's usefull to have these coords computed with the trues values. They are used for example if the cell is a cannon. To have the coord where the cannon begin to shoot. Same as for the other objects of the game : power, missiles, rabbits, bricks. Also it usefull to check collisions.
You can decide to draw tiles before and after the visible screen onto the collision map.
yes, it's what's my code do (draw from Lin= TopLine To BottomLine). The level is finished when the last map line is drawing at the bottom of the visible screen. into the demo the scrolling have 100 lines, you can pass it to 500 lines. Just the two virtuals screens and the viewed screen was displayed.
Thanks to discuss about this Grey. it's usefull to me to explain my choice to see where are my errors and how to improve or modified the algorithm. hope to see your scrolling example soon. When i modified my previous code, i also modified the tiles access, via array direct access. Before 'lists' was used. But my game lost time to find the good tiles into long list (for next loop) !!!
i appreciate your work with your game framework and your help.