2017年10月2日 星期一

Week04 玄的筆記..

將上周憤怒鳥遊戲優化

PImage imgBird, imgPig;
float birdX=400,birdY=300;
float birdVX=0, birdVY=0;
float birdAX=0, birdAY=0;
float [][]pigx=new float [5][4];  //宣告豬的XY位子陣列float [][]pigy=new float [5][4];boolean[][]pigAlive= new boolean[5][4];void setup(){
  size(800,600);
  imgBird=loadImage("angrybird.png");
  imgPig=loadImage("pig.png");
  imageMode(CENTER);
  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(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,80,80);
    }
  }
line(birdX,birdY,400,300);
birdX += birdVX;
birdY += birdVY;
if(birdX<40){birdX=40;birdVX=-birdVX;}
if(birdX>width-40){birdX=width-50;birdVX=-birdVX;}
if(birdY<40){birdY=40;birdVY=-birdVY;}
if(birdY>width-230){birdY=width-230;birdVY=-birdVY;}

birdVX += birdAX;
birdVY += birdAY;
birdVX *=0.99;
birdVY *=0.99;
}
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;
}


如何匯入音樂檔

先匯入程式庫

匯入音樂的程式碼   (要記得將音樂檔拉近檔案)
import processing.sound.*;
SoundFile sound;
void setup(){
  size(800,600);
  sound = new SoundFile(this,"animal.mp3");
  sound.play();
  sound.loop();
}




沒有留言:

張貼留言