В Роботах последовательно выводится:
1.Тайлмап на весь вьюпорт тайлами 16×16. При этом части тайлмапа динамически меняются (вентиляторы, двери, подъёмники)
2. Спрайты с размерами, кратными тайлу, привязанные к координатной сетке тайлов (батарейки и т.п.)
3. Главный герой с альфой размером 16×40
4 Поверх-спрайты с произвольной координатой
5. Поверх всего этого - тайлмап с альфой для создания участков переднего тайлового плана разной прозрачности с просвечивающим задним планом и окрашенными "стёклами". Пробег идёт по всему вьюпорту, правда выводятся не каждый тайл.
Скролл достаточно быстр, чтобы поделённый на 4 был не медленнее, чем на видео.
Не надо никаких решений "на лету". Это внесёт чоппинесс. Как и не надо использовать плоскости отдельно, нет такой необходимости: 2х-битные спрайты с альфой и так достаточно быстро выводятся. Ты прочти ещё раз алгоритм для 2х пиксельной субтайловой точности, который я описал: это по операциям практически рендерер Роботов, за исключением одного ORA М в 3х четвертях случаев. 8 тактов на байт. Плюс выборка второй половинки байта из другого банка. Если вместо пункта 5 выше поставить такую выборку и отказаться от тайлмапа для переднего плана, скорость будет сравнима с той, как сейчас в Роботах/4. По прикидкам-быстрее, чем на видео. Ну, или сравнимо.




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