1-1
做出一顆球碰到旁邊牆壁就停止反彈。
void setup(){
size(500,500);
}
int x=250,y=250;
void draw(){
ellipse(x,y,10,10);
x=x+1;
y=y-1;
}
1-2
void setup(){
size(500,500);
}
float x=250,y=250;
float vx=1.0, vy=-0.5;
void draw(){
ellipse(x,y,10,10);
x=x+vx;
y=y+vy;
if(x>500) vx=-vx;
if(y<0) vy=-vx;
if(x<0)vx=-vx;
}
1-3
做出可以讓球反彈的平台,求落下後用滑鼠移動平台,讓球落在上面後就會反彈。
void setup(){
size(500,500);
}
float x=250,y=250;
float vx=2.0, vy=-1.5;
void draw(){
background(#FFFFF2);
int boardX=mouseX;
rect(boardX,470,100,20);
ellipse(x,y,10,10);
x=x+vx;
y=y+vy;
if(x>500) vx=-vx;
if(y<0) vy=-vx;
if(x<0)vx=-vx;
if(y>470&&x>boardX&&x<boardX+100)vy=-vy;
}
2-1
平台透過滑鼠左鍵能夠變長,而滑鼠右鍵則是縮小回原來的大小。
void setup(){
size(500,500);
}
float x=250,y=250;
float vx=2.0, vy=-1.5;
float boardX,boardY=470,boardW=100,boardH=20;
void draw(){
boardX=mouseX-boardW/2;
background(#FFFFF2);
rect(boardX,boardY,boardW,boardH);
ellipse(x,y,10,10);
x=x+vx;
y=y+vy;
if(x>500) vx=-vx;
if(y<0) vy=-vx;
if(x<0)vx=-vx;
if((y>boardY&&y<boardY+boardH)&&(x>boardX&&x<boardX+boardW)){
vy=-vy;
vx+=(mouseX-pmouseX)/2;
}
if(mousePressed&&mouseButton==LEFT)boardW*=1.01;
if(mousePressed&&mouseButton==RIGHT)boardW*=0.99;
}
2-2
運用迴圈畫出很多的棋子。
void setup(){
size(500,500);
}
void draw(){
for(int x=50;x<=450;x+=50){
for(int y=50;y<=450;y+=50){
ellipse(x,y,50,50);
}
}
}







沒有留言:
張貼留言