красивый viewer У меня, правда?         
                                        
основан  он  на т.н. методе "переливания
по стекУ". разУмеется.                  
изображения  текстов  представляют собой
последовательности команд:              
                                        
        LD HL,XX                        
        PUSH HL                         
                                        
тУт всё ясно.                           
зачем  же  я пишУ этот текст? - спросишь
ты.                                     
                                        
а вот зачем:                            
мне  кажется этот самый метод "перелива-
ния  по  стекУ" совершенно несправедливо
считается   неприемлимым,  громоздким  и
т.д.                                    
однако,  такое мнение является не более,
чем стереотипом.                        
демоном.)                               
замкнУтой  самодостаточноя цепочкой мыс-
лей в вашем разУме.                     
которУю необХодимо разомкнУть.          
                                        
ПЕРЕЛИВАНИЕ  ПО СТЕКУ ВОВСЕ НЕ  ЯВЛЯЕТСЯ
МЕТОДОМ НЕПРИЕМЛИМЫМ, ГРОМОЗДКИМ И Т.Д.!
                                        
вот. разомкнУл.)                        
нет, в самом-то деле..                  
                                        
нУ, во-первыХ, зачем это всё - чисто для
одноФреймовости скроллера. и для Упроще-
ния  кода  оболочки. возможно, вам это и
ни к чемУ. возможно даже, что У вас есть
потребность листать тексты по 60 кб. яс-
но,  что ни о какиХ спрайтаХ и стекаХ вы
и  слышать не заХотите. и правильно сде-
лаете.                                  
                                        
если  же вы Хотите одноФреймовость, то У
вас есть 2 пУти: Хранить текст в виде ld
и push или же Хранить его спрайтом.     
                                        
на самом деле расХод памяти в этиХ мето-
даХ  полУчается примерно одинаковым. по-
томУ  что  текст состоит из бУкв. причем
пребладают  там бУквы маленькие, имеющие
высотУ 5 пикселей. таким образом пример-
но  3/8  от  всего  об'ема памяти, зани-
маемого изображением текста, - это нУли.
два нУля можно выводить одной командой -
push bc, например.                      
                                        
кроме того, цвета в тексте меняются тоже
не  очень  часто.  т.е., грУбо говоря, в
каждой  строке  бУдет  ещё 30 одинаковыХ
байт  атрибУтов.  которые  можно вывести
так:                                    
                                        
        LD HL,COLOR                     
.15     PUSH HL                         
                                        
дальше. все последовательности из команд
push  hl  или push bc длинной, например,
15 команд можно заменить подпрограммами.
т.е.  ставить  вместо ниХ CALL PUSH15. и
Уже  на 30 одинаковыХ байт в изображении
мы  бУдем  тратить всего 3 байта в проге
вывода.                                 
                                        
в  среднем,  наша программа, бУдем зани-
мать  памяти всего лишь на 20-50 процен-
тов больше, чем изображение текста, Хра-
нимое  спрайтом.  однако,  чтобы вывести
спрайт  во  Фрейм без развернУтыХ циклов
тоже никак. и эти развернУтые циклы Фак-
тически  ликвидирУют  преимУщество  в те
самые 20-50 процентов.                  
                                        
нУ, примерно )                          
                                        
при  этом,  переливая  через стек, мы не
ограничены   размером  (высотой)  шриФта
(когда  текст  Хранится  и выводится как
спрайт, обычно выводят только 6 линий из
8,  иначе просто Фи-                    
зически не Успеть во                    
Фрейм). также мы мо- жем вставлять в текст спрайты. вот так вот >>> :) примерно.. надо только помнить, что они не должны быть слишком больши- ми. и вообще, при оФормлении текстов следУет Учитывать, что не надо слишком насыщать текст в од- ном месте.
вот.)



Other articles:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Results CC'2000 - Results CC'2000.
Others - The results of the survey.

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