Макроязык GML. Вывод текстовой информации в графике.
Для приведения в действие последовательности команд языка GML необходимо использование оператора draw.
Например, команда:
I DRAW "R50 D50 L50 U50"
Изобразит нам квадрат, начиная от последней графической точки.
Если такой точки не было, и вы сразу начинаете строить изображение с помощью оператора draw, то по умолчанию исходной точкой считается центр экрана.
Если вы подготовите сначала какое-либо изображение в строковой переменной, то потом его можно будет многократно вызывать на экран. Для этого используется функция "х". Ее работу рассмотрим на примере.
N$="R50 D50 L50 U50" DRAW "C14 X"+VARPTR$ (N$) DRAW "BM500, 50 C2 X"+VARPTR$(N$)
С помощью первого оператора запоминаем последовательность команд построения квадрата в строковой переменной n$. Вторым оператором задаем цвет 14 и сообщаем компьютеру командой х, что необходимо выполнить последовательность команд n$. Это делает функция varptr$. Последним оператором перемещаемся без рисования в точку с координатами 500, 50, меняем цвет на 2 и снова выполняем последовательность команд n$.
В результате на экране в центре и в правом верхнем углу должны появиться одинаковые разноцветные квадраты со стороной 50.
Совместное использование графических примитивов и оператора draw позволит вам рисовать очень качественные изображения на вашем экране.
108. Для того чтобы опробовать эти возможности, нарисуйте елочку (рис. 1.31).
Рис. 1.31. Елочка
109. Если вам удалось предыдущее задание, то попробуйте вырастить на экране еловый бор из трех одинаковых елочек, пририсовать к ним траву, солнце, небо, облака – в общем, все, что подскажет вам фантазия.
Вывод текстовой информации в графике
Часто хочется сопроводить свои рисунки подписями. Не сдерживайте свои желания. Делайте это просто – с помощью операторов locate и print, как мы это уже многократно делали.
Предупреждение
Только надо помнить, что координаты в операторе locate не графические (640x350), а текстовые (80x25).