Week14
今天的作業呢,就是要為我們上禮拜的憤怒鳥加點音樂,沒有音樂靈魂的遊戲怎麼好玩呢?
接下來就是先瞭解音檔要怎麼使用外掛!!
1.按下上方的速寫本
2. 按下裡面的引用庫文件
3.接著點選添加庫文件
4.在空格中打入sound
5.選擇Minim 其他有些電腦會死機
6.按下右下方的下載即可
第一步:
程式碼:
import ddf.minim.*; ///使用外掛
Minim minim; ///物件minim ///大寫宣告小寫
AudioPlayer player; ///物件player
void setup( ){
minim = new Minim(this);
player = minim.loadFile("song.mp3"); ///要放入歌
player.play( ); ///真的播放出來
}
void draw( ){
} ///沒有draw ,沒有後續的動作,會沒有聲音
第二步上禮拜程式碼放入音樂:
import ddf.minim.*;
Minim minim;
AudioPlayer player;
PImage imgBird ;
void setup( ){
size(500,400);
imgBird=loadImage("bird.png");
imageMode(CENTER);
minim = new Minim(this);
player = minim.loadFile("song.mp3");
player.play( );
}
float birdX=100,birdY=300,oldX,oldY,vx=0,vy=0; ///vx,vy表移動的速度
boolean bMoving=false;
void draw( ){
background(255); ///背景要清,不要殘影
image(imgBird,birdX,birdY,100,100);
if(bMoving) line(mouseX,mouseY,oldX,oldY);
birdX+=vx;birdY+=vy;
if(birdX>500-50 || birdX<50) vx=-vx;
if(birdY>400-50 || birdY<50) vy=-vy; ///反彈
}
void mouseReleased( ){ ///如果放開的時候
bMoving =false; ///不在拉動,要彈出去懂嗎!!
vx=(oldX-mouseX)/10;vy=(oldY-mouseY)/10; ///就的座標減新座標移動距離除以10
}
void mousePressed( ){
if(dist(mouseX,mouseY,birdX,birdY)<50){
bMoving =true; ///開始移動鳥
oldX=birdX;oldY=birdY;
}
}
void mouseDragged( ){
if(bMoving){
birdX=mouseX;birdY=mouseY;
}
}
第三步:
import ddf.minim.*; ///做音樂
Minim minim; ///做音樂
AudioPlayer player; ///做音樂
PImage imgBird , imgPig ; ///紫色為TODO2
float [ ]pigX=new float[20];
float [ ]pigY=new float[20]; ///宣告有20隻豬
int pigN=0; ///豬有0隻
void setup( ){
size(500,400);
imgBird=loadImage("bird.png");
imgPig=loadImage("pig.gif");
imageMode(CENTER);
minim = new Minim(this);
player = minim.loadFile("song.mp3");
player.play( );
}
float birdX=100,birdY=300,oldX,oldY,vx=0,vy=0;
boolean bMoving=false;
void draw( ){
background(255);
for(int i=0;i<pigN;i++){
image( imgPig,pigX[i],pigY[i],100,100);
}
image( imgPig,pigX[i],pigY[i],100,100);
}
image(imgBird,birdX,birdY,100,100);
if(bMoving) line(mouseX,mouseY,oldX,oldY);
birdX+=vx;birdY+=vy;
if(birdX>500-50 || birdX<50) vx=-vx;
if(birdY>400-50 || birdY<50) vy=-vy;
}
void mouseReleased( ){
bMoving =false;
vx=(oldX-mouseX)/10;vy=(oldY-mouseY)/10;
}
void mousePressed( ){
if(mouseButton==RIGHT){ ///按右鍵時會有豬
pigX[pigN]=mouseX;pigY[pigN]=mouseY;
pigX[pigN]=mouseX;pigY[pigN]=mouseY;
pigN++;
}
}
if(dist(mouseX,mouseY,birdX,birdY)<50){
bMoving =true;
oldX=birdX;oldY=birdY;
}
}
void mouseDragged( ){
if(bMoving){
birdX=mouseX;birdY=mouseY;
}
}




沒有留言:
張貼留言