Если есть возможность переключать экраны:
Рисуешь тайлы в оба экрана изначально. Затем рисуешь в например первый экран спрайты уж там с маской без маски как угодно. Помечаешь битом в таблице тайлов куски 16х16 скажем которые были затронуты прорисовкой спрайтов. Переключаешь экран туда. Затем восстанавливаешь тайлы которые были помечены и были под спрайтами. Рисуешь аналогично на второй экран, помечаешь затронутые куски, переключаешь экран туда, затем оттуда тоже восстанавливаешь затронутый бэкграунт.. ну ит.д.
Если нет возможности переключать экраны:
Рисуешь то-же самое в куске памяти. Помечаешь какие тайлы затронули нарисованные спрайты уже двумя битами типа 11. Выводишь на экран куски из буфера которые были затронуты (помечены первым или вторым битом). Восстанавливаешь тайлы помеченные первым битом при этом перемещая его во второй. (это будет нужно если спрайт "прыгнет" через тайл чтобы вывести на экран все-же восстановленный тайл бекграунда потом хотя мол туда ничего не рисовалось)




Ответить с цитированием