一開始沒跟到
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];
}
}
會有球掉落
加上
if(y[i]>600)vy[i]=-vy[i];
if(y[i]<0)vy[i]=-vy[i];
設上下界讓他碰到以後往上下彈
用小畫家在解釋設定圓形半徑的關係
新增了
if(dist(mouseX,mouseY,x[i],y[i])<=50){
continue;
}
和
fill(255,0,0);ellipse(mouseX,mouseY,50,50);
使滑鼠操控的球碰到其他球的時候會停下來
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};
boolean[] dead={false,false,false,false};
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;
fill(255,255,0);ellipse(x[i],y[i],50,50);
y[i]=y[i]+vy[i];
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);
}
增加布林函數
使碰到的球變不見
\練習家講解布林函數
設false為綠色true為紅色
mousePressed的時候為true
其餘為false
void setup(){
size(500,600);
x=new float[N];
y=new float[N];
vy=new float[N];
dead=new boolean[N];
for(int i=0;i<N;i++){
x[i]=random(500);
y[i]=random(100,200);
vy[i]=random(3,4);
dead[i]=false;
}
}
程式改成
先將球的程式寫好
要畫圖的時候在叫出來使用
vx=random(-4,4);
使球也會有x軸的移動
所以球不只會上下移動而是整張亂跑
沒有留言:
張貼留言