我想知道为什么函数mousePressed
会出现延迟。
我知道我的代码中存在问题,尤其是for循环,
如果我按下它们的话,如果彼此有两个球,则有时会在第一个消失。
有时最高的人首先消失了
int number=80;
int i;
ball [] balls =new ball[number];
void setup(){
size(1000,1000);
frameRate(60);
for(i=0 ;i<number;i++)
{
balls[i]=new ball(color(random(0,255),random(0,255),random(0,255)),random(30,970) , random(30,970),random(1.9,2));
}
}
void draw()
{
background(255,0,0);
for( i=number-1 ;i>=0;i--)
{
if (mousePressed == true) {
balls[i].disapeear();
}
balls[i].display();
balls[i].bouncing();
}
}
class ball
{
float speed,x,y;
color c;
float A=1;
float B =1;
ball(color colour ,float horiz,float vert,float s)
{
speed = s;
x = horiz;
y = vert;
c = colour;
}
void disapeear()
{
float L = sqrt((x-mouseX )*(x-mouseX))+((y-mouseY)*(y-mouseY));
if(L<15)
{
x=-100;
y=-100;
}
}
void bouncing()
{
x=x+(speed * A);
y=y+(speed * B);
if((x>width-30)||(x<0))
{
A =A * -1 ;
}
if((y>height-30)||(y<0))
{
B =B * -1 ;
}
}
void display()
{
fill(c);
stroke(0,0,255);
ellipse(x,y,30,30);
}
}
答案 0 :(得分:0)
当我查看您的代码时,您没有的一件事是mousePressed()
函数。
如果将该函数添加到主类,则可能会停止延迟。