Функции Рисования в GML - Форум Игроделов
Пн, 06 Май 2024, 16:37 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » GAME MAKER » МАНУАЛЫ И УРОКИ » Функции Рисования в GML
Функции Рисования в GML
maxicorpДата: Чт, 25 Фев 2010, 21:35 | Сообщение # 1
 
Сообщений: 24
Награды: 1
Репутация: 65
Статус: Offline
Функции Рисования в GML

Они дают Вам возможность позволить объектам выглядеть несколько иначе, чем они являются на самом деле. Существует целая коллекция доступных функций позволяющих рисовать различные формы. Также имеются функции, позволяющие рисовать текст. Вы можете использовать их только в событии рисования объекта; эти функции не имеют смысла в каком нибудь другом коде. Обязательно учитывайте, что только графическое железо компьютера рисует изображения быстро. Таким образом любая другая подпрограмма рисования будет делать это относительно медленно. Также хочется отметить что Game Maker оптимизирован для рисования изображений. Но по возможности избегайте других подпрограмм рисования. (Лучше, когда это возможно, создать точечный рисунок вместо использования рисования). Также поймите, что столкновения между образцами определяются их спрайтами (или масками) а не тем, как они фактически рисуются. Существуют следующее функции, связанные с рисование изображений:

draw_sprite(n,img,x,y) - Рисует фрагмент изображения img (-1 = текущее) спрайта с индексом n, с началом координат в позиции (x, y).
draw_sprite_scaled(n,img,x,y,s) - Рисует спрайт, масштабируемый с коэффициентом s.
draw_sprite_stretched(n,mg,x,y,w,h) - Рисует спрайт, растянутый так, что он заполняет область с верхним левым углом (x, y), шириной w и высотой h.
draw_sprite_transparent(n,mg,x,y,s,alpha) - Рисует спрайт, масштабируемый с коэффициентом s объединенный с его фоном. alpha указывает коэффициент прозрачности. Значение 0 делает спрайт, полностью прозрачным. Значение 1 делает его полностью твердым. Эта функция может создавать крутой эффект (например частично прозрачные вспышки). Хотя это будет работать довольно медленно, потому что создано программно и следовательно, функцию нужно использовать с осторожностью.
draw_background(n,x,y) - Рисует фон с индексом n в позиции (x, y).
draw_background_scaled(n,x,y,s) - Рисует масштабируемый фон.
draw_background_stretched(n,x,y,w,h) - Рисует фон, растянутый до обозначенной области.
draw_background_transparent(n,x,y,s,alpha) - Рисует масштабируемый фон с коэффициентом s и прозрачностью alpha (0-1) (медленно!).
draw_background_tiled(n,x,y) - Рисует плиточный фон, так что он полностью заполняет комнату.
Следующие функции рисунка рисуют основные формы. Они используют множество свойств, в особенности кисть (brush) и цветное перо (pen color), которые могут быть установлены, используя некоторые переменные.
draw_pixel(x,y) - Рисует пиксел в (x, y) цветной кистью.
draw_getpixel(x,y) - Возвращает цвет пиксела в (x, y).
draw_fill(x,y) - Заливка от позиции (x, y) цветной кистью.
draw_line(x1,y1,x2,y2) - Рисует линию от (x1, y1) к (x2, y2).
draw_circle(x,y,r) - Рисует круг в (x, y) с радиусом r.
draw_ellipse(x1,y1,x2,y2) - Рисует эллипс.
draw_rectangle(x1,y1,x2,y2) - Рисует прямоугольник.
draw_roundrect(x1,y1,x2,y2) - Рисует округленный прямоугольник.
draw_triangle(x1,y1,x2,y2,x3,y3) - Рисует треугольник.
draw_arc(x1,y1,x2,y2,x3,y3,x4,y4) - Рисует дугу эллипса.
draw_chord(x1,y1,x2,y2,x3,y3,x4,y4) - Рисует хорду эллипса.
draw_pie(x1,y1,x2,y2,x3,y3,x4,y4) - Рисует круг эллипса.
draw_button(x1,y1,x2,y2,up)- Рисует кнопку, up означает вверх (1), или down - вниз (0).
draw_text(x,y,string) - Рисует строку в позиции (x, y). Символ # или перевода каретки chr(13) или перевода строки chr(10) интерпретируется как символ новой строки. Таким образом Вы можете рисовать многострочные тексты.
draw_text_ext(x,y,string,sep,w)- Подобна предыдущей функции но с ней Вы можете определить еще две вещи. Прежде всего, sep указывает отступ между строками текста в тексте, состоящем из нескольких строк. Используйте -1 чтобы получить расстояние заданное по умолчанию. Используйте w - чтобы указать ширину текста в пикселах. Строки, которые оказываются длиннее заданной ширины - разбиваются пробелом или знаками -. Используйте значение -1, чтобы строки не разбивались.
draw_polygon_begin() - Начинает описывать полигон для рисования.
draw_polygon_vertex(x,y) - Добавляет вершину (x, y) к полигону.
draw_polygon_end() - Заканчивает описание полигона. Эта функция фактически выводит рисунок.

Вы можете изменить множество параметров настроек, таких как цвет линии (перо), область (кисть) и шрифт, и много других свойств шрифта. Эффект этих переменных глобален! Так, если Вы изменяете их в подпрограмме рисования для одного объекта, они также применяются к другим объектам, рисуемым позже. Вы можете также использовать эти переменные в других событиях. Например, если они не изменяются, Вы можете установить их однажды в начале игры (что является намного более эффективным).
brush_color - Цвет используемый для заполнения форм. Доступен целый диапазон встроенных цветов:

c_aqua
c_black
c_blue
c_dkgray
c_fuchsia
c_gray
c_green
c_lime
c_ltgray
c_maroon
c_navy
c_olive
c_purple
c_red
c_silver
c_tea l
c_white
c_yellow

Другие цвета могут быть созданы, используя подпрограмму make_color(red,green,blue), где красный, зеленый и синий должны иметь значения в диапазоне между 0 и 255.

brush_style - Текущий стиль кисти, используемый для наполнения. Доступны следующие стили:
bs_hollow
bs_solid
bs_bdiagonal
bs_fdiagonal
bs_cross
bs_diagcross
bs_horizontal
bs_vertical
pen_color - Цвет пера, для рисования границ.
pen_size - Размер пера в пикселах.
font_color - Цвет используемого шрифта.
font_size - Размер используемого шрифта (в точках).
font_name - Название шрифта (строка).
font_style - Стиль для шрифта. Доступны следующие стили:
fs_normal
fs_bold
fs_italic
fs_bolditalic
font_angle - Угол, с которым вращается шрифт (0-360 градусов). Например, для вертикального текста используется значение 90.
font_align - Выравнивание текста w.r.t. данной позиции. Могут использоваться следующие значения:
fa_left
fa_center
fa_right

Существует несколько разных функций:

string_width(string) - Ширина строки в текущем шрифте, так как она может быть нарисована с использованием функции draw_text(). Может использоваться для точного позиционирования графики.
string_height(strin[size=7]g) - Высота строки в текущем шрифте, так как она может быть нарисована с использованием функции draw_text().
string_width_ext(string,sep,w)- Ширина строки в текущем шрифте, так как она может быть нарисована с использованием функции draw_text_ext (). Может использоваться для точного позиционирования графики.
string_height_ext(string,sep,w)- Высота строки в текущем шрифте, так как она может быть нарисована с использованием функции draw_text_ext ().
screen_gamma(r,g, - Устанавливает значения гамма коррекции. r,g,b должны находится в диапазоне от -1 до 1. По умолчанию - 0. Когда Вы используете значение меньше чем 0, то определяемый цвет становится более темным. Если Вы используете значение больше чем 0, то цвет становится мягче. В большинстве случаев Вы будете оставлять эти три значения неизменными. Например, чтобы получить эффект молнии (lightning) Вы можете временно приблизить все три значения к 1. Эта функция работает только в исключительном режиме!
screen_save(fname) - Сохраняет bmp изображение экрана в файле с данным именем. Полезно для создания скриншотов.
screen_save_part(fname,left,top,right,bottom) - Сохраняет часть экрана в файле с данным именем.


Сообщение отредактировал maxicorp - Чт, 25 Фев 2010, 21:41
 
СообщениеФункции Рисования в GML

Они дают Вам возможность позволить объектам выглядеть несколько иначе, чем они являются на самом деле. Существует целая коллекция доступных функций позволяющих рисовать различные формы. Также имеются функции, позволяющие рисовать текст. Вы можете использовать их только в событии рисования объекта; эти функции не имеют смысла в каком нибудь другом коде. Обязательно учитывайте, что только графическое железо компьютера рисует изображения быстро. Таким образом любая другая подпрограмма рисования будет делать это относительно медленно. Также хочется отметить что Game Maker оптимизирован для рисования изображений. Но по возможности избегайте других подпрограмм рисования. (Лучше, когда это возможно, создать точечный рисунок вместо использования рисования). Также поймите, что столкновения между образцами определяются их спрайтами (или масками) а не тем, как они фактически рисуются. Существуют следующее функции, связанные с рисование изображений:

draw_sprite(n,img,x,y) - Рисует фрагмент изображения img (-1 = текущее) спрайта с индексом n, с началом координат в позиции (x, y).
draw_sprite_scaled(n,img,x,y,s) - Рисует спрайт, масштабируемый с коэффициентом s.
draw_sprite_stretched(n,mg,x,y,w,h) - Рисует спрайт, растянутый так, что он заполняет область с верхним левым углом (x, y), шириной w и высотой h.
draw_sprite_transparent(n,mg,x,y,s,alpha) - Рисует спрайт, масштабируемый с коэффициентом s объединенный с его фоном. alpha указывает коэффициент прозрачности. Значение 0 делает спрайт, полностью прозрачным. Значение 1 делает его полностью твердым. Эта функция может создавать крутой эффект (например частично прозрачные вспышки). Хотя это будет работать довольно медленно, потому что создано программно и следовательно, функцию нужно использовать с осторожностью.
draw_background(n,x,y) - Рисует фон с индексом n в позиции (x, y).
draw_background_scaled(n,x,y,s) - Рисует масштабируемый фон.
draw_background_stretched(n,x,y,w,h) - Рисует фон, растянутый до обозначенной области.
draw_background_transparent(n,x,y,s,alpha) - Рисует масштабируемый фон с коэффициентом s и прозрачностью alpha (0-1) (медленно!).
draw_background_tiled(n,x,y) - Рисует плиточный фон, так что он полностью заполняет комнату.
Следующие функции рисунка рисуют основные формы. Они используют множество свойств, в особенности кисть (brush) и цветное перо (pen color), которые могут быть установлены, используя некоторые переменные.
draw_pixel(x,y) - Рисует пиксел в (x, y) цветной кистью.
draw_getpixel(x,y) - Возвращает цвет пиксела в (x, y).
draw_fill(x,y) - Заливка от позиции (x, y) цветной кистью.
draw_line(x1,y1,x2,y2) - Рисует линию от (x1, y1) к (x2, y2).
draw_circle(x,y,r) - Рисует круг в (x, y) с радиусом r.
draw_ellipse(x1,y1,x2,y2) - Рисует эллипс.
draw_rectangle(x1,y1,x2,y2) - Рисует прямоугольник.
draw_roundrect(x1,y1,x2,y2) - Рисует округленный прямоугольник.
draw_triangle(x1,y1,x2,y2,x3,y3) - Рисует треугольник.
draw_arc(x1,y1,x2,y2,x3,y3,x4,y4) - Рисует дугу эллипса.
draw_chord(x1,y1,x2,y2,x3,y3,x4,y4) - Рисует хорду эллипса.
draw_pie(x1,y1,x2,y2,x3,y3,x4,y4) - Рисует круг эллипса.
draw_button(x1,y1,x2,y2,up)- Рисует кнопку, up означает вверх (1), или down - вниз (0).
draw_text(x,y,string) - Рисует строку в позиции (x, y). Символ # или перевода каретки chr(13) или перевода строки chr(10) интерпретируется как символ новой строки. Таким образом Вы можете рисовать многострочные тексты.
draw_text_ext(x,y,string,sep,w)- Подобна предыдущей функции но с ней Вы можете определить еще две вещи. Прежде всего, sep указывает отступ между строками текста в тексте, состоящем из нескольких строк. Используйте -1 чтобы получить расстояние заданное по умолчанию. Используйте w - чтобы указать ширину текста в пикселах. Строки, которые оказываются длиннее заданной ширины - разбиваются пробелом или знаками -. Используйте значение -1, чтобы строки не разбивались.
draw_polygon_begin() - Начинает описывать полигон для рисования.
draw_polygon_vertex(x,y) - Добавляет вершину (x, y) к полигону.
draw_polygon_end() - Заканчивает описание полигона. Эта функция фактически выводит рисунок.

Вы можете изменить множество параметров настроек, таких как цвет линии (перо), область (кисть) и шрифт, и много других свойств шрифта. Эффект этих переменных глобален! Так, если Вы изменяете их в подпрограмме рисования для одного объекта, они также применяются к другим объектам, рисуемым позже. Вы можете также использовать эти переменные в других событиях. Например, если они не изменяются, Вы можете установить их однажды в начале игры (что является намного более эффективным).
brush_color - Цвет используемый для заполнения форм. Доступен целый диапазон встроенных цветов:

c_aqua
c_black
c_blue
c_dkgray
c_fuchsia
c_gray
c_green
c_lime
c_ltgray
c_maroon
c_navy
c_olive
c_purple
c_red
c_silver
c_tea l
c_white
c_yellow

Другие цвета могут быть созданы, используя подпрограмму make_color(red,green,blue), где красный, зеленый и синий должны иметь значения в диапазоне между 0 и 255.

brush_style - Текущий стиль кисти, используемый для наполнения. Доступны следующие стили:
bs_hollow
bs_solid
bs_bdiagonal
bs_fdiagonal
bs_cross
bs_diagcross
bs_horizontal
bs_vertical
pen_color - Цвет пера, для рисования границ.
pen_size - Размер пера в пикселах.
font_color - Цвет используемого шрифта.
font_size - Размер используемого шрифта (в точках).
font_name - Название шрифта (строка).
font_style - Стиль для шрифта. Доступны следующие стили:
fs_normal
fs_bold
fs_italic
fs_bolditalic
font_angle - Угол, с которым вращается шрифт (0-360 градусов). Например, для вертикального текста используется значение 90.
font_align - Выравнивание текста w.r.t. данной позиции. Могут использоваться следующие значения:
fa_left
fa_center
fa_right

Существует несколько разных функций:

string_width(string) - Ширина строки в текущем шрифте, так как она может быть нарисована с использованием функции draw_text(). Может использоваться для точного позиционирования графики.
string_height(strin[size=7]g) - Высота строки в текущем шрифте, так как она может быть нарисована с использованием функции draw_text().
string_width_ext(string,sep,w)- Ширина строки в текущем шрифте, так как она может быть нарисована с использованием функции draw_text_ext (). Может использоваться для точного позиционирования графики.
string_height_ext(string,sep,w)- Высота строки в текущем шрифте, так как она может быть нарисована с использованием функции draw_text_ext ().
screen_gamma(r,g, - Устанавливает значения гамма коррекции. r,g,b должны находится в диапазоне от -1 до 1. По умолчанию - 0. Когда Вы используете значение меньше чем 0, то определяемый цвет становится более темным. Если Вы используете значение больше чем 0, то цвет становится мягче. В большинстве случаев Вы будете оставлять эти три значения неизменными. Например, чтобы получить эффект молнии (lightning) Вы можете временно приблизить все три значения к 1. Эта функция работает только в исключительном режиме!
screen_save(fname) - Сохраняет bmp изображение экрана в файле с данным именем. Полезно для создания скриншотов.
screen_save_part(fname,left,top,right,bottom) - Сохраняет часть экрана в файле с данным именем.


Автор - maxicorp
Дата добавления - 25 Фев 2010 в 21:35
Форум Игроделов » GAME MAKER » МАНУАЛЫ И УРОКИ » Функции Рисования в GML
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024