void setup()
{
size(300,300);
}
void draw()
{
background(#002966);
stroke(#b7efff); →點的顏色
line(100,150,200,150);
fill(#b7efff);
ellipse(100,150,13,13);
ellipse(200,150,13,13);
}
void setup()
{
size(300,300);
}
float x=100,y=150;
void draw()
{
background(#002966);
stroke(#b7efff);
line(x,y,200,150);
fill(#b7efff);
ellipse(x,y,13,13); →變數
ellipse(200,150,13,13);
}
void mouseDragged()
{
x=mouseX;y=mouseY; →用滑鼠畫線
}

void setup()
{
size(300,300);
}
float x=100,y=150;
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);
x-=dx*(len-100)/len;
y-=dy*(len-100)/len;
} →讓線條回彈
}
void mouseDragged()
{
x=mouseX;y=mouseY;
}
→按著拉長

→放開

len概念

void setup()
{
size(300,300);
}
float x=100,y=150;
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);
x-=dx*(len-100)/len*0.1; →回彈變慢//每次只走1/10
y-=dy*(len-100)/len*0.1; →回彈變慢//每次只走1/10
}
}
void mouseDragged()
{
x=mouseX;y=mouseY;
}
物體追游標
//會追到游標上
void setup()
{
size(400,300);
}
float x=100,y=150;
void draw()
{
background(#002966);
ellipse(x,y,50,50);
float dx=x-mouseX; →target:mouse
float dy=y-mouseY; →target:mouse
float len=sqrt(dx*dx+dy*dy);
x-=dx*0.1;
y-=dy*0.1;
}

//會保持距離
void setup()
{
size(400,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; →保持100距離
y-=dy*(len-100)/len*0.1; →保持100距離
}
{
size(300,300);
}
float x=100,y=150;
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);
dx/=len;
dy/=len;
vx-= f*dx*0.0001; →不同彈性係數,彈力越強動越快
vy-= f*dy*0.0001; →//0.1快 0.0001慢
x+=vx;
y+=vy;
}
}
void mouseDragged()
{
x=mouseX;y=mouseY;
}
→課堂作業



沒有留言:
張貼留言