СКРОЛЛИНГ_
SCROLL, PAN, SCROLLW, PANW
Для того чтобы закончить описание средств
MegaBasic, служащих для обработки изображений, кратко расскажем об
операторах скроллинга SCROLL, SCROLLW, PAN и PANW.
Все четыре названных оператора прокручивают
изображение в текущем окне: SCROLL и SCROLLW по вертикали, a PAN и PANW
по горизонтали. Операторы SCROLL и PAN реализуют обычный скроллинг, в
результате выполнения которого изображение, ушедшее за пределы окна,
теряется. Операторы SCROLLW и PANW при смещении изображения возвращают
его ушедшую часть с противоположной стороны окна, то есть обеспечивают
циклический скроллинг.
В операторах
SCROLL_m,y
PAN_m,x
параметр m определяет способ закрашивания
освобождающегося при скроллинге поля. Если значение m четно, то
закрашивание осуществляется цветом фона, установленным для данного
окна, нечетно — цветом тона. Параметры х и у задают величину и
направление смещения изображения в пикселях по соответствующей
координате.
SCROLL W_y
PANWx
имеют по одному параметру, которые по смыслу совпадают со вторыми параметрами операторов SCROLL и PAN.
Значения параметров х и у могут быть
произвольными, используется только остаток от их деления на 256.
Максимальное смещение происходит при значениях х или у, равных нулю,
минимальное — когда х или у равны единице. При положительных
значениях параметров скроллинг идет вверх и вправо, при отрицательном
— вниз и влево.
Применение операторов скроллинга достаточно очевидно из примера:
10 PAPER 5: INK 1: CLS
100 CURRENT_4:WINDOW_6,18,12,28: PAPER 6: INK 2:MODE_4 105 CLW.J: PRINT "SCROLL "
110 PAUSE IO:SCROLL_1 ,—80: REM Обычный верт. скроллинг 120 CLW_1: PRINT "SCROLLW"
130 PAUSE 10:SCROLLW_128:SCROLLW_—128: REM Циклический
верт. скроллинг 140 CLW_1: PRINT "PAN "
150 PAUSE t0:PAN_0,128: REM Обычный гориз. скроллинг 160 CLW_1: PRINT "PANW ": REM Циклический гориз. скроллинг 170 PAUSE 10:PANW_128:PANW_-128 180 STOP