![]() |

может помните 2-ой старенький выпуск психоза? там в движке была такая фича, как текстовая аннимация. Выглядело неплохо. хотите знать как все это работало? ну для начала я переводил весь текст статьи в один большой спрайт. т.к. высота печати была b пикселей - выходило b*э2=192 байта на строку. В страничку влазило помнится 5b таких вот строчек. Весь прикол состоял в том, что когда строки выводились на экран - они выводились через одну простенькую табличку. попробую объяснить. например номер верхней строки в тексте 11. по идее надо вверху напечатать 11 спрайт, затем ниже 12ый и так далее. ну а если создать "карту" текстовых строк? т.е. вверхняя строка 11 - беру из такой таблички со смещением 11*э один байт номера страницы, где лежит спрайт строки, и два байта - адрес в этой странице. Вот вам и возможность делать текстовые анимы, изменяя эту самую табличку. также я делал и с атрибутами. В тексте, если первый байт в строке был запятая, то после него стоял код атрибута этой строки. Если же не стояло - значит у строки такой-же цвет, как и у предидущей. Составлялась таблица атрибутов для строк. т.е. 1 байт*количество строк. ну а если код после запятой был ноль - я просто сохранял смещение в спрайте атрибутов и каждый инт засылал туда случайное число. так и делались мигающие строки. только не стоит забывать, что при таком раскладе пропечатывать и атрибуты и текст приходится каждый int. также при спрайтовом раскладе можно на интах или иначе изменять готовые спайты. Я к примеру делал бегущие строчки в тексте и индикаторы на музыку - правда вставлять не стал. по причине лени. из-за нее же и анима юзалась только единственный раз ;) Еще при таком раскладе можно делать многофонтовость. Отразится все только на скорости декранча в самом начале. печатается все это, тем кто не знает ;) самым быстрым и простым способом: рор hl ld (adr),hl рор hl ld (adr*2),hl ...
Other articles:
|
|
|
|
|
|
|
|
|
Similar articles:
В этот день... 1 October
Scream #04(scl),
Bred #02,
Screamergy #01,
Bred #01,
Open Letters #08,
Millenium #01,
Body #2F,
Deja Vu #0A,
X-Magazine #17,
ZX Chart #01,
Skimer #02,
X-Magazine #12,
Body #17,
Bugs #01,
Adventurer #10,
X-Magazine #07,
Wallpaper #05,
Proton #48,
ZX Pilot #29,
Cheat #03 demo,
Proton #48,
Deja Vu #06,
Deja Vu #02,
ZX-News #41,
Spectrum Progress #01,
Nicron #01,
Maximum #18,
ZX Digest #02,
Speccy #01,
Emulate #02,
Speccy #01,
200 #B,
Spectrofon #09,
ZX Revija #01