Processing:Справочник языка Processing/noLoop(): различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) |
||
(не показано 10 промежуточных версий 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>= | |||
==Обозначение== | ==Обозначение== | ||
Строка 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()]]. | ||
==Синтаксис== | ==Синтаксис== | ||
Строка 102: | Строка 100: | ||
=См.также= | =См.также= | ||
=Внешние ссылки= | =Внешние ссылки= | ||
<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 | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |