Processing 处理检测单击鼠标时鼠标是否在反弹圆内

Processing 处理检测单击鼠标时鼠标是否在反弹圆内,processing,mouseclick-event,Processing,Mouseclick Event,尝试确定鼠标是否已在某个球内单击,单击鼠标时,我希望显示与该特定球相关的文本,这是我迄今为止得到的任何帮助都将不胜感激 int rad=60;//形状的宽度 浮点xpos1,ypos1;//形状的起始位置 浮点xspeed=4;//形状的速度 浮动Y速度=4;//形状的速度 int xdirection=1;//左还是右 int ydirection=1;//自上而下 布尔overBox1=false; 无效设置() { 大小(1200、800); 仰泳(); 帧率(30); 椭圆模型(半径);

尝试确定鼠标是否已在某个球内单击,单击鼠标时,我希望显示与该特定球相关的文本,这是我迄今为止得到的任何帮助都将不胜感激

int rad=60;//形状的宽度
浮点xpos1,ypos1;//形状的起始位置
浮点xspeed=4;//形状的速度
浮动Y速度=4;//形状的速度
int xdirection=1;//左还是右
int ydirection=1;//自上而下
布尔overBox1=false;
无效设置()
{
大小(1200、800);
仰泳();
帧率(30);
椭圆模型(半径);
//设置形状的起始位置
xpos1=宽度/2;
ypos1=高度/2;
}
作废提款()
{
背景(102);
circleone();
}
无效循环次数()
{
xpos1=xpos1+(xspeed*xdirection);
ypos1=ypos1+(Y速度*Y方向);
如果(xpos1>宽度rad | | xpos1高度弧度| | ypos1<弧度){
y方向*=-1;
}
椭圆(xpos1,ypos1,rad,rad);
}
void mouseClick()
{
if(过圆(xpos1,ypos1,rad)=true)
{
println(“YO”);
}
}
布尔过圆(浮点x、浮点y、整数半径){
float disX=x-mouseX;
float disY=y-鼠标;

如果(sqrt(sq(disX)+sq(disY))此逻辑似乎过于复杂:

float disX = x - mouseX;
float disY = y - mouseY;
if (sqrt(sq(disX) + sq(disY)) <radius) 
然后,如果要在单击球时显示一些文本,则必须添加多个
println()
语句。您可以将
布尔
变量设置为
true
,然后在
draw()
函数中检查该变量,并在其为true时在屏幕上绘制一些内容

如果你想在屏幕上看到很多可点击的球,那么你可以考虑用它来代表一个球,然后把你的逻辑放在那里


但你还没有真正提出问题。你发布了一些代码,没有告诉我们你希望它做什么,它做什么,或者这两件事有什么不同。堆栈溢出并不是专门为一般的“我怎么做这个”类型的问题设计的。它是为了更具体的“我尝试了X,预期了Y,但得到了Z”键入问题。因此,如果您发布一个而不是整个项目,并询问有关特定代码行的特定问题,您的运气会好得多。祝您好运。

overcurle
中尝试
if(mouseX(x-radius)){if(mouseY(y-radius)){return true;}
nested if。这是我的想法,我还不能尝试,如果这不起作用,我将在大约2小时内帮助您。
return dist(x, y, mouseX, mouseY) < radius;