Реализация кнопки стирания при обработке

#java #processing #keypress #erase

Вопрос:

Я создал кнопку стирания при обработке с помощью библиотеки controlP5. Назначение кнопки стирания состоит в том, чтобы стирать, когда что-то рисуется мышью (при нажатии кнопки стирания). Аналогично программе paint.

Заранее большое вам спасибо!

Код для функции кнопки стирания:

 **boolean erase = false;
void setup(){
}
void draw(){
void keyPressed(){ //there is an error in this line (error on void)
  if (keyPressed == true amp;amp; erase == true) {
    
      background(255);
  }
}
}**
 

Ответ №1:

Это keyPressed должно быть вне draw функции. Кроме того, кодовый блок внутри keyPressed функции будет выполняться только при нажатии клавиши, поэтому вам не нужно проверять его самостоятельно.

 boolean erase = false;

void setup(){
}

void draw(){
}

void keyPressed(){ 
  if (erase) {
      background(255);
  }
}
 

Если вы хотите проверить, нажата ли клавиша в draw функции, вы можете использовать keyPressed логическую системную переменную.

 void draw(){
  if (keyPressed amp;amp; erase) {
      background(255);
  }
}
 

Кроме того, если вы хотите, чтобы была нажата определенная клавиша, вы можете использовать key ключевое слово.

 void keyPressed(){ 
  if (key == 'e' amp;amp; erase) {
      background(255);
  }
}
 

Комментарии:

1. Большое спасибо!