2017年10月3日 星期二

week04 3D的互動筆記

一、(進階)憤怒鳥Angry Bird小遊戲 (End)
1.運用陣列產生更多豬,以及有各別碰撞條件

PImage imgbird,imgpig;
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 setup(){
  size(800,600);
  imgbird=loadImage("bird.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,100,100);
  line(birdX,birdY,400,300);
  birdX+=birdVX;
  birdY+=birdVY;
  if(birdX<50){birdX=50;birdVX=-birdVX;}
  if(birdX>width-50){birdX=width-50;birdVX=-birdVX;}
  if(birdY<50){birdY=50;birdVY=-birdVY;}
  if(birdY>height-50){birdY=height-50;birdVY=-birdVY;}
  birdVX+=birdAX;
  birdVY+=birdAY;
  birdVX*=0.98;
  birdVY*=0.98;
}
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;
}

二、製作音樂盒
(1)第一版本-sound資料庫
1.如果processing資料庫沒有sound資料庫

速寫本>引用庫文件>添加庫文件

2.搜尋sound並選取點擊install安裝

sound有綠色勾勾就是ok了

3.點選文件>範例程序


4.點選sound資料庫裡的程式範例兩下


5.sound資料庫的示範程式碼


6.把sound主要程式碼應用過來,並把mario.mp3拉近這個程式,播放即可有聲音。


(1)第二版本-Minim資料庫
1.如果processing資料庫沒有minim資料庫


2.搜尋sound並選取minim點擊install安裝


3.在C:\Users\user\Documents\Processing\libraries\minim\examples\AudioPlayer\loop裡,有Minim的範例程式-loop.pde


4.minim資料庫的範例程式


5.把minim主要程式碼應用過來,並把mario.mp3拉近這個程式,播放即可有聲音。



沒有留言:

張貼留言