延迟我的代码

时间:2016-09-21 19:00:16

标签: processing

我想知道为什么函数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);
    }
}

1 个答案:

答案 0 :(得分:0)

当我查看您的代码时,您没有的一件事是mousePressed()函数。

如果将该函数添加到主类,则可能会停止延迟。

相关问题