Processing:Справочник языка Processing/pmouseX: различия между версиями
Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{Processing панель перехода}} | {{Processing панель перехода}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
= pmouseX <ref>[https://processing.org/reference/pmouseX.html processing.org - pmouseX]</ref>= | = pmouseX <ref>[https://processing.org/reference/pmouseX.html processing.org - pmouseX]</ref>= | ||
Строка 37: | Строка 35: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Processing}} | {{Навигационная таблица/Портал/Processing}} |
Текущая версия от 10:36, 20 сентября 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
pmouseX [1]
Обозначение
pmouseX
Описание
Системная переменная pmouseX всегда содержит горизонтальное положение мыши в кадре, предшествующем текущему кадру.
Вы можете обнаружить, что pmouseX и pmouseY имеют разные значения при использовании внутри draw() и внутри функций отслеживающих события мыши, таких как mousePressed() и mouseMoved(). Внутри draw(), pmouseX и pmouseY обновляются только один раз за кадр (один раз за один проход через цикл draw()). Но внутри функций отслеживающих события мыши они обновляются каждый раз, когда вызывается событие. Если эти значения не были немедленно обновлены во время событий мыши, тогда позиция мыши будет считываться только один раз за кадр, что приведет к небольшим задержкам и прерывистому взаимодействию. Если бы переменные, отслеживающие положение курсора мыши всегда обновлялись несколько раз за кадр, то в функции line(pmouseX, pmouseY, mouseX, mouseY) внутри draw() было бы много пробелов, потому что значение pmouseX, возможно, несколько раз менялось бы между вызовами функции line().
Если вам нужны значения относительно предыдущего кадра, используйте pmouseX и pmouseY внутри draw(). Если вы хотите непрерывного ответа, используйте функции pmouseX и pmouseY внутри функций отслеживающих события мыши.
Пример
// Быстро перемещайте мышку, чтобы увидеть разницу между текущей и предыдущей позицией
void draw() {
background(204);
line(mouseX, 20, pmouseX, 80);
println(mouseX + " : " + pmouseX);
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |