2020年6月19日 星期五

遊戲

線可以來回彈

void setup()
{
    size(300,300);
}
float x=100,y=150;
float vx=0,vy=0;
void draw()
{
    background(#002966);
    stroke(#b7efff);
    line(x,y,200,150);
    fill(#b7efff);
    ellipse(x,y,13,13);
    ellipse(200,150,13,13);
    if(!mousePressed)
    {
        float dx=x-200;
        float dy=y-150;
        float len=sqrt(dx*dx+dy*dy);
        float f=(len-100);
        dy/=len;
        dx/=len;
        vx-=f*dx*0.01;
        vy-=f*dy*0.01;
        x+=vx;
        y+=vy;
    }
}
void mouseDragged()
{
    x=mouseX;y=mouseY;
}

保持距離

void setup()
{
    size(300,300);
}
float x=100,y=150;
void draw()
{
    background(#002966);
    ellipse(x,y,50,50);
    float dx=x-mouseX;
    float dy=y-mouseY;
    float len=sqrt(dx*dx+dy*dy);
    x-=dx*(len-100)/len*0.1;
    y-=dy*(len-100)/len*0.1;
}

沒有留言:

張貼留言