如何delay/disable鼠标点击处理
How to delay/disable mouse click in processing
我正在制作一个简单的游戏,用户必须点击一个向屏幕底部移动的球。用户必须在球到达屏幕底部之前点击它,当用户点击球时,球会向上移动一个预设值。
我遇到的问题是用户只需按住鼠标左键,球就会不断向上移动。
这是我的绘图函数,它会在按下鼠标后调用另一个函数。
void draw(){
background(bg);
update_ball();
if (mousePressed){
mouse_hit();
}
}
这是mouse_hit函数
void mouse_hit(){
if (mouseX <= (B1.x_loc+B1.size) && mouseX >= (B1.x_loc-B1.size) &&
mouseY <= (B1.y_loc+B1.size) && mouseY >= (B1.y_loc-B1.size) ){
B1.y_loc+=-25;
// file.play();
}
}
我想要的是设置延迟,以便用户在再次按下鼠标之前必须等待 X 秒。
我试图通过尝试在处理中使用 Second() 函数来做到这一点,但是这个函数 returns 无论 X 秒是 pc 的时钟,然后一旦它命中 59.i 无法使用它来创建任何类型的延迟。
不要使用 mousePressed
变量。使用mousePressed()
函数:
void draw(){
background(bg);
update_ball();
}
void mousePressed(){
if (mouseX <= (B1.x_loc+B1.size) && mouseX >= (B1.x_loc-B1.size) &&
mouseY <= (B1.y_loc+B1.size) && mouseY >= (B1.y_loc-B1.size) ){
B1.y_loc+=-25;
// file.play();
}
}
只要按下鼠标,mousePressed
变量就会为真。 mousePressed()
函数每次点击 仅调用一次 。您还可以使用 mouseClicked()
或 mouseReleased()
函数来获取有关单击事件的更多信息。
有关这些功能的更多信息,请参阅 the Processing reference。
我正在制作一个简单的游戏,用户必须点击一个向屏幕底部移动的球。用户必须在球到达屏幕底部之前点击它,当用户点击球时,球会向上移动一个预设值。
我遇到的问题是用户只需按住鼠标左键,球就会不断向上移动。
这是我的绘图函数,它会在按下鼠标后调用另一个函数。
void draw(){
background(bg);
update_ball();
if (mousePressed){
mouse_hit();
}
}
这是mouse_hit函数
void mouse_hit(){
if (mouseX <= (B1.x_loc+B1.size) && mouseX >= (B1.x_loc-B1.size) &&
mouseY <= (B1.y_loc+B1.size) && mouseY >= (B1.y_loc-B1.size) ){
B1.y_loc+=-25;
// file.play();
}
}
我想要的是设置延迟,以便用户在再次按下鼠标之前必须等待 X 秒。
我试图通过尝试在处理中使用 Second() 函数来做到这一点,但是这个函数 returns 无论 X 秒是 pc 的时钟,然后一旦它命中 59.i 无法使用它来创建任何类型的延迟。
不要使用 mousePressed
变量。使用mousePressed()
函数:
void draw(){
background(bg);
update_ball();
}
void mousePressed(){
if (mouseX <= (B1.x_loc+B1.size) && mouseX >= (B1.x_loc-B1.size) &&
mouseY <= (B1.y_loc+B1.size) && mouseY >= (B1.y_loc-B1.size) ){
B1.y_loc+=-25;
// file.play();
}
}
只要按下鼠标,mousePressed
变量就会为真。 mousePressed()
函数每次点击 仅调用一次 。您还可以使用 mouseClicked()
或 mouseReleased()
函数来获取有关单击事件的更多信息。
有关这些功能的更多信息,请参阅 the Processing reference。