Клэшинг

Материал из SpeccyWiki
Версия от 05:35, 2 ноября 2009; Zxdn (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Клэшинг (англ. colour clash, attribute clash) — графический артефакт, свойственный стандартному видеорежиму ZX Spectrum.

Артефакт обычно возникает в двух случаях — при плавной прокрутке экрана (с шагом, не кратным 8 пикселям) и при выводе спрайтов поверх цветного фона. Так как цвет в стандартном режиме задаётся для блоков (знакомест) 8x8 пикселей, при плавной прокрутке графика выходит за пределы своего знакоместа и меняет цвет. Аналогично, при выводе спрайтов поверх цветного фона они окрашиваются в цвет фона, либо окрашивают фон своим цветом.

Для реализации плавной прокрутки фона он должен быть нарисован таким образом, чтобы между объектами разных цветов по направлению движения были пустые области шириной в знакоместо.

Есть два принципиальных решения проблемы клэшинга спрайтов, имеющие свои ограничения.

Первый способ — использование крупных спрайтов, перемещающихся по знакоместам и максимально использующих площадь входящих в них знакомест. При выводе спрайтов их знакоместа полностью заменяют знакоместа фона. Этот способ использовался во многих играх Дэвида Перри, а также в ряде игр, разработанных в Испании. В играх Astro Marine Corps, Savage и Teenage Mutant Hero Turtles использовался цветной фон с прокруткой по знакоместам, в играх Light Force и R-Type использовалась плавная прокрутка фона.

Второй способ — вывод одноцветных спрайтов "за" фоновой графикой без наложения их на фон. Графика фона должна максимально занимать площадь используемых ей знакомест. Он использовался в играх с неподвижным фоном — Jack the Nipper 2, Exolon, Myth, Rex, а также в играх с плавной прокруткой фона — Zynaps.

Артефакты, аналогичные клэшингу, существуют и на других платформах, где имеют различные названия. В частности, на MSX аналогичный артефакт называется color spill.