Как написать игру для ZX Spectrum на ассемблере

       

Формирование окна


Прежде всего нам нужно разобраться, каким образом задаются окна. Для этого необходимо знать, какие параметры требуются для их описания.

В простейшем случае (и если вам доводилось работать с Laser Basic'ом, то это должно быть хорошо известно) достаточно определить четыре переменные: ROW - позиция по вертикали верхнего края окна, COL - горизонтальная координата левого края окна, LEN - ширина окна и HGT - его высота. Чаще все четыре параметра задаются в знакоместах, но иногда (как, например, в редакторе Art Studio) - в пикселях, правда, реализовать такие окна несравненно сложнее.

Если вы хотите иметь возможность заключать окна в рамки, причем с индивидуальным рисунком для каждого из них, то потребуется еще один параметр - тип рамки. Он может задаваться символом, содержащим рисунок рамки, просто ее порядковым номером или каким-то другим способом, а ноль, например, будет говорить об отсутствии окаймления.

Большее количество переменных может понадобиться для определения окон со сложной внутренней структурой. Например, окно может иметь собственное название, заголовок, выделяемый цветом и постоянно присутствующий в окне. Такие типы окон часто можно встретить в меню игровых (MICRONAUT ONE) или прикладных (Art Studio) программ (Рисунок  5.4). Кроме того, окно может быть как бы приподнятым над общим фоном экрана и отбрасывать на него «тень».



Содержание раздела