Сделал тайлами!
qsave1.rar
Тайл имеет размеры 8x8 пикселей, при печати нечетная строка дублируется (для печати используется размер 16x8 пикселей естественно)
Левый байт при печати выводится с маской. Это делается чтобы не затереть предыдущий напечатанный тайл слева.
Как уже здесь говорилось, сплошная вода(земля) получается естественным образом когда после сдвига уже напечатанное так и остается на экране.
Если на экране около 32 тайлов, то печать ландшафта занимает всего 13К тактов!
Выглядит обнадеживающе. Для печати спрайтов с лихвой еще времени.
Общий алгоритм вижу таким:
1) Стерание всех спрайтов
2) Печать ландшафта
3) Печать всех спрайтов
Можно шаг 1) пропустить для мин, т.к они движуться только вверх через 4 пикселя. И затирать эти 4 пикселя снизу мины при ее выводе, а также затирать 2 пикселя справа оставшиеся после сдвига.
Пока не решал вопрос с клиппингом по краям экрана.
А также не знаю, что же делать с цветами. Делать нецветное?
Или же, как в прошлом посте, выводить их с землей. Но что-то мне уж жутко не нравится когда лодка подплывает к земле, то она окрашивается частично, да еще и квадратиками. Также в этом случае будут такие же проблемы и с минами.
https://seadragon.svn.sourceforge.net/svnroot/seadragon




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