Одно из возможных решений - использовать виртуальные позиции спрайтов x и y и иметь исходную позицию x и y (которая будет в верхнем левом углу экрана).
Когда вы хотите прокрутить экран, вы просто изменяете исходную позицию x и y.
Затем, где бы вы ни рисовали что-либо на экране, вам необходимо вычесть исходную позицию из виртуальной позиции.
Например.
canvas.drawBitmap(bitmap, x - originX, y - originY, paint);
Всякий раз, когда вы перемещаете любой спрайт, вы манипулируете их «виртуальными» позициями x и y. Если вы переведете виртуальный x, y в реальный экран x, y, вычтя начало координат, все будет двигаться вместе.
Например, если вы хотите, чтобы ваш фон прокручивался справа налево, вы просто добавляете к originX каждый кадр.