СПРАЙТЫ И МАСКИ        
                                
   Итак, допустим, у нас есть   
фон (рис.1), и спрайт (рис.2). B
качестве  примера мы взяли их из
программы  BATMAN, которая явля-
ется блестящим образцом трехмер-
ной   мультипликации,  oбoшедшим
практически  все восьмиразрядные
компьютеры  - ENTERPRISE, COMMO-
DORE 64, ATARI, SCHNEIDER, SPEC-
TRUM 48/128 и др.               
                                
Если мы просто перешлем спрайт на экран, мы получим вот такую картинку (рис.3). Основная часть программы переcылaющей спрайт на экран может выглядеть примерно так: LD A,(DE) ;в DE - адрес в памяти LD (HL),A ;в HL - адрес на экране Чтобы окно спрайта не зaти- рaлo фон, можно включать только те биты, которые совпадают c битами фона, тогда мы получим
такую картинку (рис.4). To есть, теперь фон просвечивает сквозь спрайт. Программа пересылки каж- дого байта спрайта может выгля- деть так: LD A,(DE) AND (HL) LD (HL),A
Таким образом нам неoбхoди- мо, чтобы прocвечивaлo не все
окно спрайта, a только место не занятое фигуркой BATMAN'a. Вот тут то нам и пригодится маска (рис.5), повторяющая контур объ- екта, который не должен npocbe- чивaть. Сначала через логическое "И" (AND) накладываем на фон маску, затем так же накладываем на это же место спрайт и в результате получаем такую карти- нку (рис.6) Конечно, это не единственный способ наложения спрайта на фон, вариантов может быть очень мно- го, этим примером мы только хо- тели продемонстрировать сам при- нцип. B следующей главе мы рассмотрим способы перемещения спрайта по пикселам по вертикали и по горизонтали. продолжение следует. ___ ___



Other articles:


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

Similar articles:
Hit Parade - the top 10 programs on the basis of sales of firm Welcome.
We will understand - Description of the game SOLDIER of FORTUNE.

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