jerri, конечно, потому и написал "попробовать".
Andrew771, много фона - тяжело как для железа, так и для восприятия, пиксельная каша может получиться.
А такие тайлы можно попытаться "вдавить" в фон и инвертировать, сделать их как бы "освещёнными".
Вид для печати
jerri, конечно, потому и написал "попробовать".
Andrew771, много фона - тяжело как для железа, так и для восприятия, пиксельная каша может получиться.
А такие тайлы можно попытаться "вдавить" в фон и инвертировать, сделать их как бы "освещёнными".
Обычно разницу между передним и задним фоном делают посредством разницы освещённости, но поскольку в спектруме однобитный графон, приходиться таким макаром делать.
А вот про смешение через OR я зря надумал, так как при анимации перемещения объектов придется затирать полностью по горизонтали весь участок и поновой прорисовывать бэкграунд и персонажей.
---------- Post added at 16:05 ---------- Previous post was at 16:02 ----------
Ненавижу такой эффект. Смешение через OR лучше смотриться, чем через XOR (или как там..... вобщем аналог бейсиковского over'a ,если я вас правильно понял).
---------- Post added at 16:09 ---------- Previous post was at 16:05 ----------
тогда и маски надо уже делать, а ведь уже тайлами начал (как в Gay-Shot'e , если кто помнит такую игру, только там тайлы были 8*8 знакомест и всё было на васике, кроме вывода тайлов и пары звуков)
А то , что я весь экран через bright сделал тёмным, что б графика была не такой НЯшной, это не очевидно?
---------- Post added at 17:22 ---------- Previous post was at 17:19 ----------
А если делать бэк и передник разными bright-ами , то будет оооочень красивый, режущий глаза, эффект - attribute clash
Взял от сюда исходник "растворения" экранной области
http://zxpress.ru/book_articles.php?id=1026
Но чего-то он не комрпилирует.
Где тут может быть ошибка?Цитата:
ORG 60000
ENT $
THAW LD B,8 ;экран очищается за 8 циклов
LD DE,0 ;адрес начала кодов ПЗУ
THAW1 LD HL,#4000 ;адрес начала экранной области
PUSH DE
THAW2 LD A,(DE) ;берем «случайный» байт из ПЗУ
AND (HL) ;объединяем с байтом из видеобуфера
LD (HL),A ;помещаем обратно в видеобуфер
INC HL ;переходим к следующим адресам
INC DE
LD A,H ;проверяем, нужно ли повторять цикл
CP #58 ;если прошли еще не весь видеобуфер
; (#5800 - адрес начала области атрибутов)
JR NZ,THAW2 ; то повторяем
PUSH BC
LD BC,1
CALL 7997 ;PAUSE 1
POP BC
POP DE
LD HL,100
ADD HL,DE ;увеличиваем адрес в ПЗУ на 100
EX DE,HL ;меняем HL на DE
DJNZ THAW1 ;повторяем цикл
JP 3435 ;окончательно очищаем экран
---------- Post added at 03:50 ---------- Previous post was at 03:45 ----------
(тяжко без подсветки синтаксиса)
zx assembler++
(который встроен в emuZwin)
---------- Post added at 16:16 ---------- Previous post was at 16:04 ----------
Да, это таки из-за ENT'a была ошибка.....А что это за директива такая ?
ENT наверно указывает откуда начинать программу, но разве не достаточно ORG'a ?
ORG указывает куда компилировать
ENT указывает ассемблеру откуда запустить
а между тем на ebay продают распечатки исходников игры midnight resistance http://www.ebay.co.uk/itm/Sinclair-Z...item19caeab073