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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
Строка 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 />
{{SEO
 
|Заголовок статьи=Processing: pmouseX / Онлайн справочник - wikihandbk.com
|Ключевые слова=processing, pmouseX, processing pmouseX, pmouseX processing
|Описание статьи= Системная переменная pmouseX всегда содержит горизонтальное положение мыши в кадре, предшествующем текущему кадру.
Вы можете обнаружить, что pmouseX и pmouseY имеют разные значения при использовании внутри draw() и внутри функций отслеживающих события мыши, таких как mousePressed() и mouseMoved(). Внутри draw(), pmouseX и pmouseY обновляются только один раз за кадр (один раз за один проход через цикл draw()). Но внутри функций отслеживающих события мыши они обновляются каждый раз, когда вызывается событие. Если эти значения не были немедленно обновлены во время событий мыши, тогда позиция мыши будет считываться только один раз за кадр, что приведет к небольшим задержкам и прерывистому взаимодействию. Если бы переменные, отслеживающие положение курсора мыши всегда обновлялись несколько раз за кадр, то в функции line(pmouseX, pmouseY, mouseX, mouseY) внутри draw() было бы много пробелов, потому что значение pmouseX, возможно, несколько раз менялось бы между вызовами функции line().
Если вам нужны значения относительно предыдущего кадра, используйте pmouseX и pmouseY внутри draw(). Если вы хотите непрерывного ответа, используйте функции pmouseX и pmouseY внутри функций отслеживающих события мыши.
|Изображение статьи для Open Graph=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Processing:Справочник языка Processing/pmouseX</nowiki>
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki>
|Высота изображения статьи для schemaNewsArticle=
|Ширина изображения статьи для schemaNewsArticle=
|Дата публикации для schemaNewsArticle=2017-09-13
|Автор=Мякишев Е.А.
|Издатель=myagkij
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki>
|Ширина логотипа издателя для schemaNewsArticle=60
|Высота логотипа издателя для schemaNewsArticle=45
}}
{{Навигационная таблица/Портал/Processing}}
{{Навигационная таблица/Портал/Processing}}

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

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


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);
}

См.также

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