Кроме позиции курсора Processing может отслеживать состояние кнопок мыши. Переменная mousePressed принимает различные значения в зависимости от
того, нажата кнопка мыши или нет. В переменной mousePressed сохраняются данные типа boolean; это значит, что она принимает два значения: истина
(true) и ложь (false). Когда нажата кнопка мыши, mousePressed принимает значение истина.
Переменная mousePressed используется вместе с оператором if чтобы определить, когда должна запускаться строка кода. Прежде чем мы перейдем к дальнейшему объяснению, рассмотрите этот пример:
void setup() {
size(240, 120);
smooth();
strokeWeight(30);
}
void draw() {
background(204);
stroke(102);
line(40, 0, 70, height);
if (mousePressed == true) {
stroke(0);
}
line(0, 70, width, 50);
}
В приведенном примере код в блоке if запускается, когда нажата кнопка мыши. Если кнопка отжата, этот код игнорируется. Как и цикл for, который мы
обсуждали, оператор if имеет выражение test, которое оценивается как ложь или истина:
if (test) {
statements
}
Если test является истиной, код в блоке запускается; если ложью, код не запускается. Ваш компьютер вычисляет выражение, заключенное в скобки и
оценивает, является выражение test истиной или ложью.
Символ == проверяет, действительно ли равны выражения слева и справа.
Символ == не следует путать с оператором присвоения =. Символ == как бы спрашивает: “Эти выражения - равны?”, а символ = просто присваивает значение переменной.
ПРИМЕЧАНИЕ: Часто даже опытные программисты делают распространенную ошибку: пишут = вместо ==. Processing не всегда предупреждает об этой
ошибке, поэтому будьте внимательны.
Вы можете записать выражение test в блоке draw() короче:
if (mousePressed) {
Переменные, в которых хранятся данные типа boolean, в том числе mousePressed, не требуют сравнения с помощью оператора ==, потому что они не принимают других значений кроме значений истина и ложь.