你如何让一些东西移动到之前鼠标按下的位置?
How do you make something move to the previous mousepressed location?
这很基本,但是例如,我画了一个矩形并按下某处 (x,y),没有任何反应,但是当我再次按下其他地方 (x2, y2) 时,该矩形将移动到我按下的第一个位置(x,y)。所以无论我按下哪里,矩形都会移动到我按下的最后一个地方。
我有它,所以矩形出现在我按下的任何地方,而不是以前的位置。
void setup(){
background(234);
size(400, 400);
}
void draw(){
}
void mousePressed(){
background(234);
rect(mouseX, mouseY, 20, 20);
}
您需要做的就是创建自己的变量,将之前单击的位置存储在其中,然后使用它来绘制矩形。
float targetX;
float targetY;
void setup(){
background(234);
size(400, 400);
}
void draw(){
}
void mousePressed(){
background(234);
rect(targetX, targetY, 20, 20);
targetX = mouseX;
targetY = mouseY;
}
请注意,您必须在第一次点击时决定您希望它们成为什么,因为您还没有之前点击过的位置。默认是左上角的0, 0
。
这很基本,但是例如,我画了一个矩形并按下某处 (x,y),没有任何反应,但是当我再次按下其他地方 (x2, y2) 时,该矩形将移动到我按下的第一个位置(x,y)。所以无论我按下哪里,矩形都会移动到我按下的最后一个地方。
我有它,所以矩形出现在我按下的任何地方,而不是以前的位置。
void setup(){
background(234);
size(400, 400);
}
void draw(){
}
void mousePressed(){
background(234);
rect(mouseX, mouseY, 20, 20);
}
您需要做的就是创建自己的变量,将之前单击的位置存储在其中,然后使用它来绘制矩形。
float targetX;
float targetY;
void setup(){
background(234);
size(400, 400);
}
void draw(){
}
void mousePressed(){
background(234);
rect(targetX, targetY, 20, 20);
targetX = mouseX;
targetY = mouseY;
}
请注意,您必须在第一次点击时决定您希望它们成为什么,因为您还没有之前点击过的位置。默认是左上角的0, 0
。