2020/5/28 Week14
part1:前面都在打程式,第二節小考
part2:憤怒鳥
上禮拜的程式碼
先下載播放音樂所需的套件
加入音樂的程式碼(記得要把song.mp3加到資料夾)

程式碼:
import ddf.minim.*;
Minim minim;
AudioPlayer player;
AudioPlayer player2;
PImage imgBird,imgPig;
void setup(){
minim = new Minim(this);
player = minim.loadFile("song.mp3");
player.play();
player2 = minim.loadFile("pig.wav");
size(500,400);
imgBird=loadImage("bird.png");//圖檔如果沒有放好,會當掉 pointer
imgPig =loadImage("pig.gif");
imageMode(CENTER);//以正中心,當座標
}
float []pigX=new float[20];
float []pigY=new float[20];
int pigN=0;
float birdX=100, birdY=300, oldX, oldY, vx=0, vy=0;//之前的鳥在哪裡
boolean bMoving=false;//if(判斷) ex. if(bMoving)...
void draw(){
background(255);//清背景
for(int i=0;i<pigN;i++){
image(imgPig, pigX[i], pigY[i],100,100);
}
image(imgBird, birdX,birdY,100,100);//不能一直跟著mouse動,改用birdX,birdY
if(bMoving) line(birdX,birdY, oldX,oldY);//有按到,才能動它
birdX+=vx; birdY+=vy;//鳥要照速度去飛!!!
if(birdX>450 || birdX<50) vx = -vx*0.95;//撞到邊界,會改變方向,相反的方向
if(birdY>350 || birdY<50) vy = -vy*0.95;//撞到邊界,會改變方向,相反的方向
}
void mouseReleased(){
if(bMoving){
bMoving=false;//放開時,就不能動了
vx=(oldX-mouseX)/10; vy=(oldY-mouseY)/10;// 0.1倍
}
}
void mousePressed(){//按下去,才會開始動
if(mouseButton==RIGHT){
player2.rewind();
player2.play();
pigX[pigN]=mouseX;
pigY[pigN]=mouseY;
pigN++;
}
if( dist(mouseX,mouseY, birdX,birdY)<50){
oldX=birdX; oldY=birdY;
bMoving=true;///按下去時,如果有按到,才能動它
}
}
void mouseDragged(){//按下去,才會開始動
if(bMoving) {//有按到,才能動它
birdX=mouseX; birdY=mouseY;
}
}

程式碼:
import ddf.minim.*;
Minim minim;
AudioPlayer player;
AudioPlayer player2;
PImage imgBird,imgPig;
void setup(){
minim = new Minim(this);
player = minim.loadFile("song.mp3");
player.play();
player2 = minim.loadFile("pig.wav");
size(500,400);
imgBird=loadImage("bird.png");//圖檔如果沒有放好,會當掉 pointer
imgPig =loadImage("pig.gif");
imageMode(CENTER);//以正中心,當座標
}
float []pigX=new float[20];
float []pigY=new float[20];
int pigN=0;
float birdX=100, birdY=300, oldX, oldY, vx=0, vy=0;//之前的鳥在哪裡
boolean bMoving=false;//if(判斷) ex. if(bMoving)...
void draw(){
background(255);//清背景
for(int i=0;i<pigN;i++){
image(imgPig, pigX[i], pigY[i],100,100);
}
image(imgBird, birdX,birdY,100,100);//不能一直跟著mouse動,改用birdX,birdY
if(bMoving) line(birdX,birdY, oldX,oldY);//有按到,才能動它
birdX+=vx; birdY+=vy;//鳥要照速度去飛!!!
if(birdX>450 || birdX<50) vx = -vx*0.95;//撞到邊界,會改變方向,相反的方向
if(birdY>350 || birdY<50) vy = -vy*0.95;//撞到邊界,會改變方向,相反的方向
}
void mouseReleased(){
if(bMoving){
bMoving=false;//放開時,就不能動了
vx=(oldX-mouseX)/10; vy=(oldY-mouseY)/10;// 0.1倍
}
}
void mousePressed(){//按下去,才會開始動
if(mouseButton==RIGHT){
player2.rewind();
player2.play();
pigX[pigN]=mouseX;
pigY[pigN]=mouseY;
pigN++;
}
if( dist(mouseX,mouseY, birdX,birdY)<50){
oldX=birdX; oldY=birdY;
bMoving=true;///按下去時,如果有按到,才能動它
}
}
void mouseDragged(){//按下去,才會開始動
if(bMoving) {//有按到,才能動它
birdX=mouseX; birdY=mouseY;
}
}
沒有留言:
張貼留言