Processing:Справочник языка Processing/draw(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
 
(не показано 7 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{Processing панель перехода}}
{{Processing панель перехода}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
{{Черновик}}


= draw() <ref>[https://processing.org/reference/draw_.html processing.org - draw()]</ref>=
= draw() <ref>[https://processing.org/reference/draw_.html processing.org - draw()]</ref>=
Строка 8: Строка 6:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
draw()
draw()
</syntaxhighlight>
</syntaxhighlight>
Строка 14: Строка 12:
==Описание==
==Описание==


Вызывается непосредственно после setup(), функция draw() непрерывно выполняет строки кода, содержащиеся внутри ее блока до тех пор, пока программа не будет остановлена или не будет вызвана функция noLoop(). Функция draw() вызывается автоматически и не должна вызываться явным образом. Во всех программах [[Processing]] обновление экрана происходит после выполнения функции draw().
Вызывается непосредственно после [[Processing:Справочник языка Processing/setup()|setup()]], функция '''draw()''' непрерывно выполняет строки кода, содержащиеся внутри ее блока до тех пор, пока программа не будет остановлена или не будет вызвана функция [[Processing:Справочник языка Processing/noLoop()|noLoop()]]. Функция '''draw()''' вызывается автоматически и не должна вызываться явным образом. Во всех программах [[Processing]] обновление экрана происходит после выполнения функции '''draw()'''.


Для остановки выполнения функции draw() используйте функции noLoop(), redraw() и loop(). Функция noLoop() используется для остановки бесконечного вызова функции draw(), функция redraw() позволяет вызвать функцию draw() один раз, а функция loop() позволяет возобновить непрерывный вызов функции draw().  
Для остановки выполнения функции '''draw()''' используйте функции [[Processing:Справочник языка Processing/noLoop()|noLoop()]], [[Processing:Справочник языка Processing/redraw()|redraw()]] и [[Processing:Справочник языка Processing/loop()|loop()]]. Функция [[Processing:Справочник языка Processing/noLoop()|noLoop()]] используется для остановки бесконечного вызова функции '''draw()''', функция [[Processing:Справочник языка Processing/redraw()|redraw()]] позволяет вызвать функцию '''draw()''' один раз, а функция [[Processing:Справочник языка Processing/loop()|loop()]] позволяет возобновить непрерывный вызов функции '''draw()'''.  


Частой вызова функции draw() можно управлять с помощью функции frameRate().
Частой вызова функции '''draw()''' можно управлять с помощью функции [[Processing:Справочник языка Processing/frameRate()|frameRate()]].


Для очистки содержимого окна, как показано в первом примере, часто вызывается функция background() в начале функции draw(). Поскольку пиксели, нарисованные в окне не удаляются при повторных вызовах функции draw(), исключение из кода функции background() может привести к нежелательным результатам.
Для очистки содержимого окна, как показано в первом примере, часто вызывается функция [[Processing:Справочник языка Processing/background()|background()]] в начале функции '''draw()'''. Поскольку пиксели, нарисованные в окне не удаляются при повторных вызовах функции '''draw()''', исключение из кода функции [[Processing:Справочник языка Processing/background()|background()]] может привести к нежелательным результатам.


В каждом скетче может быть только одна функция draw(), также функция draw() необходима если у вас есть код, который необходимо выполнять в бесконечном цикле, или вам необходимо выполнять обработку событий, таких как mousePressed(). Допускается пустое тело функции draw(), как показано во втором примере.
В каждом скетче может быть только одна функция '''draw()''', также функция '''draw()''' необходима если у вас есть код, который необходимо выполнять в бесконечном цикле, или вам необходимо выполнять обработку событий, таких как [[Processing:Справочник языка Processing/mousePressed()|mousePressed()]]. Допускается пустое тело функции '''draw()''', как показано во втором примере.


==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
draw()
draw()
{
{
Строка 35: Строка 33:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
void
void
</syntaxhighlight>
</syntaxhighlight>
Строка 41: Строка 39:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
void
void
</syntaxhighlight>
</syntaxhighlight>
Строка 49: Строка 47:
===№1===
===№1===


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
float yPos = 0.0;
float yPos = 0.0;


Строка 69: Строка 67:
===№2===
===№2===


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
void setup() {
void setup() {
   size(200, 200);
   size(200, 200);
Строка 89: Строка 87:


<references />
<references />
{{SEO
 
|Заголовок статьи=Processing: draw() / Онлайн справочник - wikihandbk.com
{{Навигационная таблица/Портал/Processing}}
|Ключевые слова=processing, draw()
|Описание статьи= Вызывается непосредственно после setup(), функция draw() непрерывно выполняет строки кода, содержащиеся внутри ее блока до тех пор, пока программа не будет остановлена или не будет вызвана функция noLoop(). Функция draw() вызывается автоматически и не должна вызываться явным образом. Во всех программах Processing обновление экрана происходит после выполнения функции draw(). Для остановки выполнения функции draw() используйте функции noLoop(), redraw() и loop(). Функция noLoop() используется для остановки бесконечного вызова функции draw(), функция redraw() позволяет вызвать функцию draw() один раз, а функция loop() позволяет возобновить непрерывный вызов функции draw(). Частой вызова функции draw() можно управлять с помощью функции frameRate(). Для очистки содержимого окна, как показано в первом примере, часто вызывается функция background() в начале функции draw(). Поскольку пиксели, нарисованные в окне не удаляются при повторных вызовах функции draw(), исключение из кода функции background() может привести к нежелательным результатам. В каждом скетче может быть только одна функция draw(), также функция draw() необходима если у вас есть код, который необходимо выполнять в бесконечном цикле, или вам необходимо выполнять обработку событий, таких как mousePressed(). Допускается пустое тело функции draw(), как показано во втором примере.
|Изображение статьи для Open Graph=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Processing:Справочник языка Processing/draw()</nowiki>
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki>
|Высота изображения статьи для schemaNewsArticle=
|Ширина изображения статьи для schemaNewsArticle=
|Дата публикации для schemaNewsArticle=2017-06-25
|Автор=Мякишев Е.А.
|Издатель=myagkij
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki>
|Ширина логотипа издателя для schemaNewsArticle=60
|Высота логотипа издателя для schemaNewsArticle=45
}}
{{Навигационная таблица/Справочник языка Processing}}

Текущая версия от 17:40, 20 сентября 2023

Проверка/Оформление/Редактирование: Мякишев Е.А.


draw() [1]

Обозначение

draw()

Описание

Вызывается непосредственно после setup(), функция draw() непрерывно выполняет строки кода, содержащиеся внутри ее блока до тех пор, пока программа не будет остановлена или не будет вызвана функция noLoop(). Функция draw() вызывается автоматически и не должна вызываться явным образом. Во всех программах Processing обновление экрана происходит после выполнения функции draw().

Для остановки выполнения функции draw() используйте функции noLoop(), redraw() и loop(). Функция noLoop() используется для остановки бесконечного вызова функции draw(), функция redraw() позволяет вызвать функцию draw() один раз, а функция loop() позволяет возобновить непрерывный вызов функции draw().

Частой вызова функции draw() можно управлять с помощью функции frameRate().

Для очистки содержимого окна, как показано в первом примере, часто вызывается функция background() в начале функции draw(). Поскольку пиксели, нарисованные в окне не удаляются при повторных вызовах функции draw(), исключение из кода функции background() может привести к нежелательным результатам.

В каждом скетче может быть только одна функция draw(), также функция draw() необходима если у вас есть код, который необходимо выполнять в бесконечном цикле, или вам необходимо выполнять обработку событий, таких как mousePressed(). Допускается пустое тело функции draw(), как показано во втором примере.

Синтаксис

draw()
{

}

Параметры

void

Возвращаемое значение

void

Пример

№1

float yPos = 0.0;

void setup() {                      // функция setup(), выполняется один раз
  size(200, 200);
  frameRate(30);
}
 
void draw() {                       // функция draw(), выполняется в бесконечном цикле, пока не будет остановлена явно
  background(204);
  yPos = yPos - 1.0;
  if (yPos < 0) {
    yPos = height;
  }
  line(0, yPos, width, yPos);
}

№2

void setup() {
  size(200, 200);
}

//Хотя тело функции не содержит операторов, функция draw() необходима,
//чтобы программа могла обрабатывать события пользовательского ввода 
//(нажатия мыши в данном случае).
void draw() { }

void mousePressed() {
  line(mouseX, 10, mouseX, 90);
}

См.также

Внешние ссылки