Шрифты и текст

В играх Вам иногда понадобиться рисовать тексты. Чтобы нарисовать текст, Вы должны определить шрифт для использования. Шрифты могут быть определены созданием шрифтовых ресурсов (так же в программе Game Maker, используя функции для создания ресурсов). Имеются всё же некоторые функции для рисования текста другим путём. В каждой функции Вы определяете позицию текста на экране. Существует две функции для установки горизонтального и вертикального выравнивания текста, которые относятся к указанной позиции.

Для рисования текста существуют следующие функции:

draw_set_font(font) Устанавливает шрифт, который будет использоваться при рисовании текста. Используйте -1, чтобы установить встроенный по умолчанию шрифт Arial 12.
draw_set_halign(halign) Устанавливает горизонтальное выравнивание, используемое при рисовании текста. Выберите одну из следующих констант как величину:

fa_left
fa_center
fa_right

draw_set_valign(valign) Устанавливает вертикальное выравнивание, используемое при рисовании текста. Выберите одну из следующих констант как величину:

fa_top
fa_middle
fa_bottom

draw_text(x,y,string) Рисует строку в позиции (x,y), используя рисование цвета и букв. Символ # или перевод строки chr(13) или перевод строки chr(10) интерпретируется как окончание строки символов. Таким образом Вы можете сделать "многостроковый" текст. (Используйте \#, чтобы получить сам # символ.)
draw_text_ext(x,y,string,sep,w) Подобно предшествующей программе, но Вы теперь можете определить ещё две вещи. Прежде всего, sep - указывает расстояние разделения между строками текста в "многостроковом" тексте. Используйте -1, чтобы получить расстояние по умолчанию. Используйте w, чтобы указать ширину текста в пикселях. Строки, которые более длинные, разделяются шириной в пробелах или знаках. Используйте -1, чтобы не разбивать строки.
string_width(string) Ширина строки в текущем шрифте при рисовании используя функцию draw_text(). Может использоваться для точного позиционирования графики.
string_height(string) Высота строки в текущем шрифте при рисовании, используя функцию draw_text().
string_width_ext(string,sep,w) Ширина строки в текущем шрифте при рисовании, используя функцию draw_text(). Может использоваться для точного позиционирования графики.
string_height_ext(string,sep,w) Высота строки в текущем шрифте при рисовании, используя функцию draw_text_ext().

Следующие программы позволяют Вам рисовать масштабированный и вращающийся текст, а также использовать цветовой градиент цвета в текстах. Эти функции доступны только в Pro издании Game Maker!

draw_text_transformed(x,y,string,xscale,yscale,angle) Рисует строку в позиции (x,y) так же как выше, но шкала теперь горизонтальная и вертикальная с указанными показателями и вращением против часовой стрелки сверх градусов угла.
draw_text_ext_transformed(x,y,string,sep,w,xscale,yscale,angle) Объединяет функцию draw_text_ext и draw_text_transformed. Что делает возможным рисовать масштабируемый и вращающийся многостроковый текст.
draw_text_color(x,y,string,c1,c2,c3,c4,alpha) Рисует строку в позиции (x,y) подобно вышеупомянутой функции. Четыре цвета определяют цвета левого верхнего, верхнего-правого, нижнего-правого, и нижнего-левого угла текста. alpha - является альфа прозрачностью, используйте (0-1).
draw_text_ext_color(x,y,string,sep,w,c1,c2,c3,c4,alpha) Подобно функции draw_text_ext(), но с цветными гранями.
draw_text_transformed_color(x,y,string,xscale,yscale,angle,c1,c2,c3,c4,alpha) Подобно функции draw_text_transformed(), но с цветными гранями.
draw_text_ext_transformed_color(x,y,string,sep,w,xscale,yscale,angle,c1,c2,c3,c4,alpha) Подобно функции draw_text_ext_transformed(), но с цветными гранями.