|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
<meta charset="UTF-8">
|
|
|
7a004b |
<link href="style.css" rel="stylesheet" type="text/css">
|
|
|
7a004b |
<title>Рисование - Helianthus</title>
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
Helianthus
|
|
|
7a004b |
Запуск и общие функции
|
|
|
7a004b |
Клавиатура и мышь
|
|
|
7a004b |
Рисование
|
|
|
7a004b |
Спрайты
|
|
|
7a004b |
Группы спрайтов
|
|
|
7a004b |
Камера
|
|
|
7a004b |
Звук
|
|
|
7a004b |
|
|
|
7a004b |
Все функции
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
Рисование
|
|
|
7a004b |
|
|
|
7a004b |
Перечисленные ниже функцию позволяют рисовать на экране различные фигуры и текст.
|
|
|
7a004b |
|
|
|
7a004b |
Для указания цвета используется его текстовое наименование.
|
|
|
7a004b |
Вот список наименований:
|
|
|
7a004b |
"transparent",
|
|
|
7a004b |
"black",
|
|
|
7a004b |
"white",
|
|
|
7a004b |
"gray",
|
|
|
7a004b |
"red",
|
|
|
7a004b |
"green",
|
|
|
7a004b |
"blue",
|
|
|
7a004b |
"yellow",
|
|
|
7a004b |
"magenta",
|
|
|
7a004b |
"cyan",
|
|
|
7a004b |
"yellow",
|
|
|
7a004b |
"magenta",
|
|
|
7a004b |
"cyan",
|
|
|
7a004b |
"brown".
|
|
|
7a004b |
|
|
|
7a004b |
Также поддерживаются цвета в кодировка #RRGGBBAA:
|
|
|
7a004b |
#000000 — чёрный;
|
|
|
7a004b |
#ff0000 — красный;
|
|
|
7a004b |
#0000ff — синий;
|
|
|
7a004b |
#00ff00aa — зелёный полупрозрачный.
|
|
|
7a004b |
|
|
|
7a004b |
Вы можете сгенерировать текстовое наименования для любого цвета по его числовым составляющим при помощи функций rgb и rgba.
|
|
|
7a004b |
|
|
|
7a004b |
Для рисования линий и многоугольников используются функции moveTo, lineTo, closePath, strokePath. При этом функции stroke и fill задают цвет линий и заливки. Функция strokeWeight задаёт толщину линий. Вот пример рисования красного треугольника с чёрным контуром:
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
fill("red");
|
|
|
7a004b |
stroke("black");
|
|
|
7a004b |
strokeWeight(10);
|
|
|
7a004b |
moveTo(100, 300);
|
|
|
7a004b |
lineTo(300, 300);
|
|
|
7a004b |
lineTo(50, 200);
|
|
|
7a004b |
closePath();
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
Также существуют отдельные функции для рисования прямоугольников, линий, эллипсов и дуг окружности, смотрите описания функций ниже.
|
|
|
7a004b |
|
|
|
7a004b |
Для вывода текста используются функции text, textAlign, textFont и textSize. Смотрите их описание ниже.
|
|
|
7a004b |
|
|
|
7a004b |
Функции:
|
|
|
7a004b |
|
|
|
7a004b |
void background(const char *color);
|
|
|
7a004b |
|
|
|
7a004b |
Установить цвет фона. Начиная со следующего все кадры будут рисоваться на выбранном фоне.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
color — текстовое наименование цвета.
|
|
|
7a004b |
|
|
|
7a004b |
void fill(const char *color);
|
|
|
7a004b |
|
|
|
7a004b |
Установить цвет заливки. После вызова этой функции все фигуры будут заполняться выбранным цветом. См. также noFill.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
color — текстовое наименование цвета.
|
|
|
7a004b |
|
|
|
7a004b |
void noFill();
|
|
|
7a004b |
|
|
|
7a004b |
Отключить заливку фигур. После вызова этой функции все фигуры будут рисоваться без заполнения. См. также fill.
|
|
|
7a004b |
|
|
|
7a004b |
void stroke(const char *color);
|
|
|
7a004b |
|
|
|
7a004b |
Установить цвет контура. После вызова этой функции все фигуры будут рисоваться с контуром выбранного цвета. Также эта функция задаёт цвет рисования текста См. также noStroke.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
color — текстовое наименование цвета.
|
|
|
7a004b |
|
|
|
7a004b |
void noStroke();
|
|
|
7a004b |
|
|
|
7a004b |
Отключить рисование контура. После вызова этой функции все фигуры будут рисоваться без прорисовки контура. См. также stroke.
|
|
|
7a004b |
|
|
|
7a004b |
Важно: Так как текст рисуется цветом контура, эта функция полностью отключает вывод текста.
|
|
|
7a004b |
|
|
|
7a004b |
void strokeWeight(double weight);
|
|
|
7a004b |
|
|
|
7a004b |
Установить толщину линий и контуров. После вызова этой функции все линии и контуры будут рисоваться с заданной толщиной.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
weight — толщина линии.
|
|
|
7a004b |
|
|
|
7a004b |
char* rgb(double r, double g, double b);
|
|
|
7a004b |
|
|
|
7a004b |
Функция возвращает текстовое наименование цвета для заданных числовых значений яркости красной, зелёной и синей составляющих.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
r — яркость красной составляющей цвета, дробное число от 0 до 1;
|
|
|
7a004b |
g — яркость зелёной составляющей цвета, дробное число от 0 до 1;
|
|
|
7a004b |
b — яркость синей составляющей цвета, дробное число от 0 до 1.
|
|
|
7a004b |
|
|
|
7a004b |
char* rgba(double r, double g, double b, double a);
|
|
|
7a004b |
|
|
|
7a004b |
Функция возвращает текстовое наименование цвета для заданных числовых значений яркости красной, зелёной и синей составляющих, а также прозрачности.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
r — яркость красной составляющей цвета, дробное число от 0 до 1;
|
|
|
7a004b |
g — яркость зелёной составляющей цвета, дробное число от 0 до 1;
|
|
|
7a004b |
b — яркость синей составляющей цвета, дробное число от 0 до 1;
|
|
|
7a004b |
a — прозрачность, дробное число от 0 до 1, при этом 0 — цвет полностью прозрачный, 1 — цвет непрозрачный.
|
|
|
7a004b |
|
|
|
7a004b |
void moveTo(double x, double y);
|
|
|
7a004b |
|
|
|
7a004b |
Начать рисование новой фигуры, и задать начальное положение пера. Перед запуском этой функции убедитесь что вы завершили рисование предыдущей фигуры функцией closePath или strokePath.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
x, y — координаты в которые будет помещено перо.
|
|
|
7a004b |
|
|
|
7a004b |
void lineTo(double x, double y);
|
|
|
7a004b |
|
|
|
7a004b |
Наметить линию от текущих координат пера до заданной точки, а также перевести перо в указанною точку. Настоящая линия будет нарисована позже при помощи функции closePath или strokePath. См. также функцию moveTo.
|
|
|
7a004b |
|
|
|
7a004b |
Важно: если положение пера не было задано, то линия не намечается, вместо этого просто задаётся начальное положение пера.
|
|
|
7a004b |
|
|
|
7a004b |
void resetPath();
|
|
|
7a004b |
|
|
|
7a004b |
Убрать все намеченные функцией lineTo или arcPath линии и отменить их рисование. Положение пера также забывается.
|
|
|
7a004b |
|
|
|
7a004b |
void closePath();
|
|
|
7a004b |
|
|
|
7a004b |
Завершить контур соединив начальную и конечную точки линией и нарисовать заполненную фигуру с контуром. Цвета заполнения и контура задаются функциями fill и stroke. См. также функции moveTo и lineTo. После вывода фигуры на экран положение пера и все намеченные линии забываются.
|
|
|
7a004b |
|
|
|
7a004b |
void strokePath();
|
|
|
7a004b |
|
|
|
7a004b |
Нарисовать ранее намеченные линии. В отличии от функции closePath, данная функция не соединяет начальную и конечную точки, а просто рисует только те линии которые были намечены. Цвет контура задаётся функцией stroke, а вот заполнение цветом не производится. После вывода намеченных линий на экран, их расположение и позиция пера забываются.
|
|
|
7a004b |
|
|
|
7a004b |
void rect(double x, double y, double width, double height);
|
|
|
7a004b |
|
|
|
7a004b |
Нарисовать прямоугольник. Цвета заполнения и контура задаются заранее функциями fill и stroke.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
x, y — координаты левого верхнего угла прямоугольника;
|
|
|
7a004b |
width — ширина прямоугольника;
|
|
|
7a004b |
height — высота прямоугольника.
|
|
|
7a004b |
|
|
|
7a004b |
void ellipse(double x, double y, double width, double height);
|
|
|
7a004b |
|
|
|
7a004b |
Нарисовать эллипс. Эллипс рисуется таким чтобы от вписался в ограничивающий прямоугольник (см. функцию rect). Следовательно для того чтобы нарисовать окружность нужно передать одинаковую ширину и высоту ограничивающего прямоугольника. Цвета заполнения и контура задаются заранее функциями fill и stroke.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
x, y — координаты левого верхнего угла ограничивающего прямоугольника;
|
|
|
7a004b |
width — ширина ограничивающего прямоугольника;
|
|
|
7a004b |
height — высота ограничивающего прямоугольника.
|
|
|
7a004b |
|
|
|
7a004b |
void arc(double x, double y, double w, double h, double start, double stop);
|
|
|
7a004b |
|
|
|
7a004b |
Нарисовать дугу эллипса заданного ограничивающим прямоугольником. Дуга задаётся значением начального и конечного угла. Цвет линии задаётся функцией stroke.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
x, y — координаты левого верхнего угла ограничивающего прямоугольника;
|
|
|
7a004b |
width — ширина ограничивающего прямоугольника;
|
|
|
7a004b |
height — высота ограничивающего прямоугольника;
|
|
|
7a004b |
start — начальный угол в градусах;
|
|
|
7a004b |
end — конечный угол в градусах.
|
|
|
7a004b |
|
|
|
7a004b |
void arcPath(double x, double y, double w, double h, double start, double stop);
|
|
|
7a004b |
|
|
|
7a004b |
Наметить дугу эллипса заданного ограничивающим прямоугольником так как если бы она рисовалась функциями moveTo и lineTo. Дуга задаётся значением начального и конечного угла. Окончательное рисование будет выполнено после вызова функции closePath или strokePath.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
x, y — координаты левого верхнего угла ограничивающего прямоугольника;
|
|
|
7a004b |
width — ширина ограничивающего прямоугольника;
|
|
|
7a004b |
height — высота ограничивающего прямоугольника;
|
|
|
7a004b |
start — начальный угол в градусах;
|
|
|
7a004b |
end — конечный угол в градусах.
|
|
|
7a004b |
|
|
|
7a004b |
void line(double x1, double y1, double x2, double y2);
|
|
|
7a004b |
|
|
|
7a004b |
Провести прямую линию от первой указанной точки до второй. Цвет линии задаётся функцией stroke.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
x1, y1 — координаты первой точки;
|
|
|
7a004b |
x2, y2 — координаты второй точки.
|
|
|
7a004b |
|
|
|
7a004b |
void point(double x, double y);
|
|
|
7a004b |
|
|
|
7a004b |
Нарисовать точку в указанных координатах. Цвет задаётся функцией stroke. Диаметр точки задаётся функцией strokeWeight.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
x, y — координаты точки.
|
|
|
7a004b |
|
|
|
7a004b |
void regularPolygon(double x, double y, int sides, double size);
|
|
|
7a004b |
|
|
|
7a004b |
Нарисовать правильный многоугольник заданного размера с центром в указанной точке. Цвета заполнения и контура задаются функциями fill и stroke.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
x, y — координаты центра многоугольника;
|
|
|
7a004b |
sides — количество сторон;
|
|
|
7a004b |
size — размер многоугольника — диаметр описанной окружности.
|
|
|
7a004b |
|
|
|
7a004b |
void text(const char *text, double x, double y);
|
|
|
7a004b |
|
|
|
7a004b |
Вывести текст в заданной точке. Расположение текста относительно указанной точки задаётся функцией textAlign. Шрифи и размер задаются функциями textFont и textSize. Цвет текста задаётся функцией stroke.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
text — текст для вывода;
|
|
|
7a004b |
x, y — координаты начальной точки.
|
|
|
7a004b |
|
|
|
7a004b |
void textAlign(HAlign hor, VAlign vert);
|
|
|
7a004b |
|
|
|
7a004b |
Установить расположение текста относительно начальной точки (см. функцию text)
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
hor — горизонтальное расположение начальной точки текста, может принимать значения:
|
|
|
7a004b |
HALIGN_LEFT — начальная точка находится по левому краю текста;
|
|
|
7a004b |
HALIGN_CENTER — начальная точка находится в середине текста;
|
|
|
7a004b |
HALIGN_RIGHT — начальная точка находится по правому краю текста.
|
|
|
7a004b |
vert — вертикальное расположение начальной точки текста, может принимать значения:
|
|
|
7a004b |
VALIGN_TOP — начальная точка находится по верхнему краю текста;
|
|
|
7a004b |
VALIGN_CENTER — начальная точка находится в середине текста;
|
|
|
7a004b |
VALIGN_BOTTOM — начальная точка находится по нижнему краю текста.
|
|
|
7a004b |
|
|
|
7a004b |
void textFont(const char *font);
|
|
|
7a004b |
|
|
|
7a004b |
Установить шрифт для текста (см. функцию text). Указанный шрифт должен быть установлен в системе. Можете посмотреть списки шрифтов в любом установленном на вашем компьютере текстовом редакторе.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
font — текстовое наименование шрифта.
|
|
|
7a004b |
|
|
|
7a004b |
void textSize(double size);
|
|
|
7a004b |
|
|
|
7a004b |
Установить размер текста (см. функцию text).
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
size — размер текста в пикселях.
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
|