2015-12-13 21 views
1

这真的很基本,但是例如,我画了一个矩形并按下某处(x,y),没有任何反应,但是当我再次按下其他地方(x2,y2)时,该矩形将移动到我按下的第一个位置(x, Y)。所以,无论我按什么,矩形将移动到我按下的最后一个地方。如何让某物移动到以前的鼠标按下位置?

我有它,所以无论按哪里,但不是以前的位置,矩形。

void setup(){ 
    background(234); 
    size(400, 400); 
} 

void draw(){ 
} 

void mousePressed(){ 
    background(234); 
    rect(mouseX, mouseY, 20, 20); 
} 

回答

0

所有你需要做的是建立自己的变量,存储在先前点击的位置,然后用它来绘制您的矩形。

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

+0

谢谢您的回复! –

相关问题