Processing:Справочник языка Processing/noLoop(): различия между версиями
Myagkij (обсуждение | вклад) |
Myagkij (обсуждение | вклад) |
||
(не показано 11 промежуточных версий 2 участников) | |||
Строка 2: | Строка 2: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
= noLoop() <ref>[https://processing.org/reference/noLoop_.html processing.org - noLoop()]</ref>= | |||
= noLoop() <ref>[https://processing.org/reference/noLoop_.html - noLoop()]</ref>= | |||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
noLoop() | noLoop() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 14: | Строка 12: | ||
==Описание== | ==Описание== | ||
Останавливает непрерывный вызов функции draw(). Если вызывается функция loop(), то возобновляется непрерывный вызов функции draw(). Если используется вызов функции noLoop() в теле функции setup(), он должен быть последней строкой внутри блока. | Останавливает непрерывный вызов функции [[Processing:Справочник языка Processing/draw()|draw()]]. Если вызывается функция [[Processing:Справочник языка Processing/loop()|loop()]], то возобновляется непрерывный вызов функции [[Processing:Справочник языка Processing/draw()|draw()]]. Если используется вызов функции noLoop() в теле функции [[Processing:Справочник языка Processing/setup()|setup()]], он должен быть последней строкой внутри блока. | ||
Если используется функция noLoop(), то невозможно манипулировать экраном или получать доступ к нему внутри функций обработки событий, таких как mousePressed() или keyPressed(). Вместо этого используйте эти функции для вызова redraw() или loop(), которые вызовут функцию draw(), которая может корректно обновлять экран. Это означает, что при вызове функции noLoop() невозможно выполнять рисование на экране, и не могут быть использованы такие функции, как saveFrame() или loadPixels(). | Если используется функция noLoop(), то невозможно манипулировать экраном или получать доступ к нему внутри функций обработки событий, таких как [[Processing:Справочник языка Processing/mousePressed()|mousePressed()]] или [[Processing:Справочник языка Processing/keyPressed()|keyPressed()]]. Вместо этого используйте эти функции для вызова [[Processing:Справочник языка Processing/redraw()|redraw()]] или [[Processing:Справочник языка Processing/loop()|loop()]], которые вызовут функцию [[Processing:Справочник языка Processing/draw()|draw()]], которая может корректно обновлять экран. Это означает, что при вызове функции noLoop() невозможно выполнять рисование на экране, и не могут быть использованы такие функции, как [[Processing:Справочник языка Processing/saveFrame()|saveFrame()]] или [[Processing:Справочник языка Processing/loadPixels()|loadPixels()]]. | ||
В то время как вызов функции loop(), приводит к возобновлению непрерывного вызова функции draw(). Функция redraw() позволяет вызвать функцию draw() один раз, не смотря на наличие вызова функции noLoop() в теле функции setup(). | В то время как вызов функции [[Processing:Справочник языка Processing/loop()|loop()]], приводит к возобновлению непрерывного вызова функции [[Processing:Справочник языка Processing/draw()|draw()]]. Функция [[Processing:Справочник языка Processing/redraw()|redraw()]] позволяет вызвать функцию [[Processing:Справочник языка Processing/draw()|draw()]] один раз, не смотря на наличие вызова функции noLoop() в теле функции [[Processing:Справочник языка Processing/setup()|setup()]]. | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
noLoop() | noLoop() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 28: | Строка 26: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
void | void | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 34: | Строка 32: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
void | void | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 42: | Строка 40: | ||
===№1=== | ===№1=== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
void setup() { | void setup() { | ||
size(200, 200); | size(200, 200); | ||
Строка 55: | Строка 53: | ||
===№2=== | ===№2=== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
void setup() { | void setup() { | ||
size(200, 200); | size(200, 200); | ||
Строка 82: | Строка 80: | ||
===№3=== | ===№3=== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
boolean someMode = false; | boolean someMode = false; | ||
Строка 106: | Строка 104: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Processing}} | |||
{{Навигационная таблица/ |
Текущая версия от 19:40, 19 сентября 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
noLoop() [1]
Обозначение
noLoop()
Описание
Останавливает непрерывный вызов функции draw(). Если вызывается функция loop(), то возобновляется непрерывный вызов функции draw(). Если используется вызов функции noLoop() в теле функции setup(), он должен быть последней строкой внутри блока.
Если используется функция noLoop(), то невозможно манипулировать экраном или получать доступ к нему внутри функций обработки событий, таких как mousePressed() или keyPressed(). Вместо этого используйте эти функции для вызова redraw() или loop(), которые вызовут функцию draw(), которая может корректно обновлять экран. Это означает, что при вызове функции noLoop() невозможно выполнять рисование на экране, и не могут быть использованы такие функции, как saveFrame() или loadPixels().
В то время как вызов функции loop(), приводит к возобновлению непрерывного вызова функции draw(). Функция redraw() позволяет вызвать функцию draw() один раз, не смотря на наличие вызова функции noLoop() в теле функции setup().
Синтаксис
noLoop()
Параметры
void
Возвращаемое значение
void
Пример
№1
void setup() {
size(200, 200);
noLoop();
}
void draw() {
line(10, 10, 190, 190);
}
№2
void setup() {
size(200, 200);
}
float x = 0.0;
void draw() {
background(204);
x = x + 0.1;
if (x > width) {
x = 0;
}
line(x, 0, x, height);
}
void mousePressed() {
noLoop();
}
void mouseReleased() {
loop();
}
№3
boolean someMode = false;
void setup() {
noLoop();
}
void draw() {
if (someMode) {
// делаем что-нибудь
}
}
void mousePressed() {
someMode = true;
redraw(); // или loop()
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |