2017年10月2日 星期一

Week 04 20171002

作業一
增加功能(多隻豬觸碰)
PImage imgBird, imgPig;
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; 多隻豬的位置
    }
  }
}

float birdVX=0,birdVY=0;
float birdX=200,birdY=500;
float birdAX=0,birdAY=0;
float[][]pigx=new float[5][4]; 
float[][]pigy=new float[5][4];
boolean[][]pigAlive=new boolean[5][4];

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,55,55);
    line(birdX,birdY,200,500);
    birdX += birdVX;
    birdY += birdVY;
    
    if(birdX<27.5){birdX=27.5; birdVX=-birdVX;}
    if(birdX>width-27.5){birdX=width-27.5;birdVX=-birdVX;}
    if(birdY<27.5){birdY=27.5;birdVY=-birdVY;}
    if(birdY>height-27.5){birdY=height-27.5;birdVY=-birdVY;}
    birdVX +=birdAX;
    birdVY +=birdAY;
    birdVX*=0.997; 
    birdVY*=0.997;
}
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 ddf.minim.*;
Minim minim;
AudioPlayer player;

void setup(){
  size(800,600);
  minim = new Minim(this);
  player = minim.loadFile("1.mp3",2048);
  player.play();
  player.loop();
}
void draw(){

}

沒有留言:

張貼留言