STEP 01-1
讓球掉下來,控制速度
掉落的金幣(座標x,y)
//Step01-1:能不能東西動起來!
float x=250,y=0,vx=0,vy=3;
void setup(){
size(500,600);
}
void draw(){
background(255);
ellipse(x,y,50,50);
//y++;//速度1,2,3,...
//y++;
//y++;
//y=y+3;//3是速度
y=y+vy;//vy是速度
}
STEP 01-2
//Step01-2:不只1個在動!!!
float x=250,y=0,vx=0,vy=3;
float x2=150,y2=50,vx2=0,vy2=2;
void setup(){
size(500,600);
}
void draw(){
//background(255);
ellipse(x,y,50,50);
ellipse(x2,y2,50,50);
y=y+vy;//vy是速度
y2=y2+vy2;//vy2是速度
}
STEP 01-3
//Step01-3:很多組!for+陣列
float []x={250,150};
float []y={0,50};
float []vx={0,0};
float []vy={3,2};
void setup(){
size(500,600);
}
void draw(){
background(255);
for(int i=0;i<2;i++){
ellipse(x[i],y[i],50,50);
y[i]=y[i]+vy[i];//vy是速度
}
}
用for迴圈讓多個圓落下
//Step01-3:很多組!for+陣列
float []x={250,150,350,300};
float []y={0,50,80,100};
float []vx={0,0,0,0};
float []vy={3,2,2.5,4};
void setup(){
size(500,600);
}
void draw(){
background(255);
for(int i=0;i<4;i++){ ///i=球的個數
ellipse(x[i],y[i],50,50);
y[i]=y[i]+vy[i];//vy是速度
}
}
STEP 01-4
碰到上下牆壁回彈
//Step01-4:很多組!for+陣列
float []x={250,150,350,300};
float []y={0,50,80,100};
float []vx={0,0,0,0};
float []vy={3,2,2.5,4};
void setup(){
size(500,600);
}
void draw(){
background(255);
for(int i=0;i<4;i++){
ellipse(x[i],y[i],50,50);
y[i]=y[i]+vy[i];//vy是速度
if(y[i]>600) vy[i]=-vy[i];//碰到下方
if(y[i]<0) vy[i]=-vy[i];//接到上方
}
}
STEP 02-1
用滑鼠移動紅球,碰到黃球時,該黃球會暫停
//Step02-1:mouse碰到球,可以得分
float []x={250,150,350,300};
float []y={0,50,80,100};
float []vx={0,0,0,0};
float []vy={3,2,2.5,4};
void setup(){
size(500,600);
}
void draw(){
background(255);
for(int i=0;i<4;i++){
fill(255,255,0);
ellipse(x[i],y[i],50,50);
if(dist(mouseX,mouseY,x[i],y[i])<=50){
continue;
}
y[i]=y[i]+vy[i];//vy是速度
if(y[i]>600) vy[i]=-vy[i];//碰到下方
if(y[i]<0) vy[i]=-vy[i];//接到上方
}
fill(255,0,0);
ellipse(mouseX,mouseY,50,50);
}
STEP 02-2
//Step02-2:mouse碰到球,可以得分
float []x={250,150,350,300};
float []y={0,50,80,100};
float []vy={3,2,2.5,4};
boolean [] dead={false,false,false,false};//false 0, true=1
void setup(){
size(500,600);
}
void draw(){
background(255);
for(int i=0;i<4;i++){
if(dist(mouseX,mouseY,x[i],y[i])<=50){
dead[i]=true;//碰到,就死掉
}
if(dead[i]==true)continue;//如果死掉了,continue 換下一個
fill(255,255,0);
ellipse(x[i],y[i],50,50);
y[i]=y[i]+vy[i];//vy是速度
if(y[i]>600) vy[i]=-vy[i];//碰到下方
if(y[i]<0) vy[i]=-vy[i];//接到上方
}
fill(255,0,0);
ellipse(mouseX,mouseY,50,50);
}
STEP 02-2(練習)
滑鼠按著背景變紅色 放開變綠色
//Step02-2 練習boolean變數 true成立 false不成立
boolean down;//按下去
void setup(){
size(500,300);
}
void draw(){
if(mousePressed)down=true;
else down=false;
print(down);
if( down )background(255,0,0);//紅色
else background(0,255,0);//綠色
}









沒有留言:
張貼留言