2017年10月2日 星期一

Week04 彣禎的上課筆記

一.做出更好的憤怒鳥

(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)打程式碼




沒有留言:

張貼留言