按下屏幕区域并单击鼠标后在处理中画一条线

问题描述

当我单击该区域时,它将连续绘制,而不是按住鼠标时。也无法弄清楚以后单击时如何切换铅笔。我很新。

 void mousepressed() {
  if (mouseX > 772 && mouseX < 864 && mouseY > 1 && mouseY < 74) {
    //button 1 was just clicked,show button 2 instead
    drawPencil = true;
  }
  
    }
}
  



void draw() {
    if (drawPencil) {
       stroke(255);
    line(mouseX,mouseY,pmouseX,pmouseY);
    }        


}

解决方法

我写了一个小程序,应该给你一个主意

boolean drawPencil;
 
void mousePressed() {
    drawPencil = true;
}

void mouseReleased()
{
   drawPencil = false;
}
  
void setup(){
    size(800,800);
}


void draw() {
    if (drawPencil) {
       stroke(255);
      line(mouseX,mouseY,pmouseX,pmouseY);
    }        
}
,

这不是您的操作方式。这是供您试用的代码段。它将做出如下反应:

Lines

float lastX,lastY;

void setup() {
  size(800,600);  
}

void draw() {
  background(0);
  
  if (mousePressed) { // is true whenever a mouse button is held down
    stroke(255);
    line(mouseX,lastX,lastY);
  }
}

void mousePressed() { // run once every click
  lastX = mouseX;
  lastY = mouseY;
}

玩得开心!