將上周憤怒鳥遊戲優化
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();
}
沒有留言:
張貼留言