Processing 单击区域处理后在屏幕上绘制

Processing 单击区域处理后在屏幕上绘制,processing,Processing,我正在尝试这样做,当用户点击程序中的铅笔图标时,他们可以画画,直到再次点击铅笔为止。我还没有添加切换功能,但我目前的问题是,我在鼠标区域中获得了所需的行为,我指定了鼠标区域,但屏幕上没有其他地方,请原谅我的代码在使用它的过程中发生了很多变化,但是通过在当前状态下运行它,你应该可以看到我所说的错误 谢谢 PImage[] img = new PImage[3]; boolean drawPencil = false; boolean draw = false; void setup() {

我正在尝试这样做,当用户点击程序中的铅笔图标时,他们可以画画,直到再次点击铅笔为止。我还没有添加切换功能,但我目前的问题是,我在鼠标区域中获得了所需的行为,我指定了鼠标区域,但屏幕上没有其他地方,请原谅我的代码在使用它的过程中发生了很多变化,但是通过在当前状态下运行它,你应该可以看到我所说的错误

谢谢

PImage[] img = new PImage[3];
boolean drawPencil = false;
boolean draw = false;


void setup() {
  size(960, 720);
    for (int i = 0; i < img.length; i++)
    img[i] = loadImage("image"+i+".png");
  //an array of images that sorts and load them into our program
 
  image(img[0],0,0);
  img[0].resize(width, height);
  // set the desired image to screen size
}

void mousePressed() {
  if (mouseX > 772 && mouseX < 864 && mouseY > 1 && mouseY < 74) {
        drawPencil = true;
        draw = true;
        // if the user clicks the pencil icon they will begin to draw
  }
}
void mouseReleased()
{
draw = false;
}
void draw() {
    if (draw) {
       stroke(255);
    line(mouseX, mouseY, pmouseX, pmouseY);
    }        
  if (key == 'w'||key == 'W') {
  image(img[0],0,0);
  img[0].resize(width, height);
  
  println(drawPencil);
  }


}
PImage[]img=新PImage[3];
布尔值=假;
布尔图=假;
无效设置(){
大小(960720);
对于(int i=0;i772&&mouseX<864&&mouseY>1&&mouseY<74){
drawPencil=真;
绘制=真;
//如果用户单击铅笔图标,他们将开始绘制
}
}
void mouseereleased()
{
绘制=假;
}
作废提款(){
如果(抽签){
中风(255);
行(mouseX、mouseY、pmouseX、pmouseY);
}        
如果(键=='w'| |键=='w'){
图像(img[0],0,0);
img[0]。调整大小(宽度、高度);
println(铅笔);
}
}

比上一篇文章好得多。我想我现在得到了你想要的。我给你编了一个简短的例子,这样你就能掌握窍门了。下面是它将要做的:

PImage-img;
布尔坎德劳;
无效设置(){
大小(960720);
背景(255);
img=loadImage(“pencil.png”);
}
作废提款(){
if(canDraw){
填充(颜色(0,128,0));
}否则{
填充(颜色(128,0,0));
}
rect(800,1100,100);
图像(img,800,1100,100);
if(canDraw和鼠标按下){
冲程(0);
行(mouseX、mouseY、pmouseX、pmouseY);
}
}
void mouseClicked(){
如果(鼠标>800&&mouseX<800+img.width&&mouseY>1&&mouseY<1+img.height){
坎德劳=!坎德劳;
}
}
如果你想问这个问题,我会留下来的。玩得开心

PImage img;
boolean canDraw;

void setup() {
  size(960, 720);
  background(255);

  img = loadImage("pencil.png");
}

void draw() {
  if (canDraw) {
    fill(color(0, 128, 0));
  } else {
    fill(color(128, 0, 0));
  }
  rect(800, 1, 100, 100);
  image(img, 800, 1, 100, 100);
  
  if (canDraw && mousePressed) {
    stroke(0);
    line(mouseX, mouseY, pmouseX, pmouseY);
  }
}

void mouseClicked() {
  if (mouseX > 800 && mouseX < 800+img.width && mouseY > 1 && mouseY < 1+img.height) {
    canDraw = !canDraw;    
  }
}