может   помните   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:
Rulezniki - a story.

В этот день...   21 November