В языке Processing существуют две главные функции, в которых работает вся программа.
Эти функции:
void setup(){
//Код, срабатывающий при старте один раз
}
void draw(){
//Код, срабатывающий постоянно (в секунду примерно 60 раз)
}
Как я уже написал выше, функция setup() вызывается только один раз при старте. В ней настраивается вся программа, происходит инициализация переменных, загрузка данных из файлов/интернета и т. п.
А функция draw() вызывается постоянно, количество ее вызовов зависит от FPS, обычно это примерно 60 раз в секунду, но это число зависит от того, как сильно ваша программа нагружает компьютер. В этой функции происходит рисование объектов, производятся регулярные вычисления (регулярные => постоянно, это не какой-то умный термин), именно в ней и написана большая часть любой программы, либо в этой функции вызывается.
Пока что в ней мы будем лишь задавать размеры экрана с помощью метода size() (именно там его и стоит вызывать) и возможно некоторые методы для настройки рисования объектов типа ellipseMode(), rectMode(), stroke(), strokeWeight(), smooth() и т. д.
В ней у нас будет находится основная логика нашей программы, тут же и происходит рисование на экране.
В Processing также созданы функции для работы с клавиатурой и мышью:
void mousePressed(){
//Вызывается при нажатии кнопки мыши
}
void mouseReleased(){
//Вызывается при отпускании нажатой кнопки мыши
}
void mouseWheel(MouseEvent event){
float e = event.getCount();
//Вызывается при вращении колесика мыши, переменная event.getCount() обозначает изменение
}
void keyPressed(){
//Вызывается при нажатии кнопки клавиатуры
}
void keyReleased(){
//Вызывается при отпускании нажатой кнопки клавиатуры
}
Функций на самом деле больше, я тут показал лишь самые часто используемые мною. Также существуют: mouseClicked(), mouseMoved() и mouseDragged()
Про них можете подробно прочитать в документации языка Processing.
В функциях выше, да и вообще в любом месте кода (в функциях) можно использовать такие встроенные переменные, как mouseX, mouseY, pmouseX, pmouseY, mousePressed, mouseButton, key, keyCode, keyPressed. Их на самом деле тоже больше, но я указал лишь самые нужные.
mouseX, mouseY - текущие координаты мыши относительно экрана вашей программы.
pmouseX, pmouseY - предыдущие координаты мыши на экране.
mousePressed - нажата ли кнопка (если нажата, то mousePressed = true, иначе = false).
mouseButton - обозначает какая именно кнопка мыши нажата (mouseButton = LEFT или mouseButton = RIGHT).
key - символ последней изменившейся клавиши (когда нажимают или отпускают).
keyCode - используется для обнаружения нажатия специальных клавиш, таких как стрелки, alt, shift, ctrl и т. п.
keyPressed - нажата ли какая-нибудь кнопка клавиатуры (если нажата, то keyPressed = true, иначе = false).
Полная информация обо всём на сайте: Welcome to Processing! / Processing.org. Информацию я брал оттуда.