Processing:Справочник языка Processing/pmouseX

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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


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

См.также

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