一.做出更好的憤怒鳥
(1)做出比較多隻豬,並且打到豬會不見
float birdX = 400, birdY = 300;
float birdVX = 0, birdVY = 0;
float birdAX =0, birdAY = 0;
float [][]pigx=new float[5][4];
float [][]pigy=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];
void draw(){
background(255);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
if (dist(pigx[i][j], pigy[i][j], birdX, birdY)<100){
pigAlive[i][j]=false;
}
if(pigAlive[i][j]) image(imgPig, pigx[i][j], pigy[i][j], 100, 100);
}
}
image(imgBird,birdX,birdY,100,100);
line(birdX, birdY, 400,300);
birdX += birdVX;
birdY += birdVY;
birdVX += birdAX;
birdVY += birdAY;
}
void mouseDragged(){
birdX=mouseX;
birdY=mouseY;
birdVX=birdVY=birdAX=birdAY=0;
}
void mouseReleased(){
birdVX = (400-mouseX)/10.0;
birdVY = (300-mouseY)/10.0;
birdAY = 0.98;
}
(2)一步一步來,先做出紅球和綠球
float [][]pigy=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];
void setup(){
size(800,600);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
pigx[i][j]=700-i*100;pigy[i][j]=100+j*100;pigAlive[i][j]=true;
}
}
}
void draw(){
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
fill(#07DE0F); ellipse(pigx[i][j], pigy[i][j], 100, 100);
}
}
fill(#DE0719); ellipse(400, 300, 100, 100);
}
(3)點擊紅球碰到綠球,綠球會不見
float birdX = 100, birdY = 400;
float birdVX = 0, birdVY = 0;
float birdAX = 0, birdAY = 0;
float [][]pigx=new float[5][4];
float [][]pigy=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];
void setup(){
size(800,600);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
pigx[i][j]=700-i*100;pigy[i][j]=100+j*100;pigAlive[i][j]=true;
}
}
}
void draw(){
background(255);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
if (dist(birdX, birdY,pigx[i][j], pigy[i][j])<100)
pigAlive[i][j]=false;
if(pigAlive[i][j]){fill(#07DE0F); ellipse(pigx[i][j], pigy[i][j], 100, 100);}
}
}
//fill(#DE0719); ellipse(400, 300, 100, 100);
fill(#DE0719); ellipse(birdX,birdY, 100, 100);
birdX += birdVX;
birdY += birdVY;
birdVX += birdAX;
birdVY += birdAY;
}
void mouseDragged(){
birdX=mouseX;
birdY=mouseY;
}
(4)球會拋物線飛走
float birdX = 100, birdY = 400;
float birdVX = 0, birdVY = 0;
float birdAX = 0, birdAY = 0;
float [][]pigx=new float[5][4];
float [][]pigy=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];
void setup(){
size(800,600);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
pigx[i][j]=700-i*100;pigy[i][j]=100+j*100;pigAlive[i][j]=true;
}
}
}
void draw(){
background(255);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
if (dist(birdX, birdY,pigx[i][j], pigy[i][j])<100)
pigAlive[i][j]=false;
if(pigAlive[i][j]){fill(#07DE0F); ellipse(pigx[i][j], pigy[i][j], 100, 100);}
}
}
//fill(#DE0719); ellipse(400, 300, 100, 100);
fill(#DE0719); ellipse(birdX,birdY, 100, 100);
birdX += birdVX;
birdY += birdVY;
birdVX += birdAX;
birdVY += birdAY;
}
void mouseDragged(){
birdX=mouseX;
birdY=mouseY;
birdVX=0;birdVY=0;
birdAY=0;
}
void mouseReleased(){
birdVX=(100-mouseX)/5.0; birdVY=(400-mouseY)/5.0;birdAY=0.98;
}
二.播音樂
(1)先做一些設定
(2)安裝Sound.Minim
(3)打程式碼
沒有留言:
張貼留言