2017年10月2日 星期一

Week04-angrybird2

1. angry bird code

PImage imgBird, imgPig; //宣告圖片
float birdX = 200, birdY = 200;//鳥-初始位置
float birdAX =0, birdAY = 0;// 鳥-加速度
float birdVX = 0, birdVY = 0;//鳥-速度

float [][]pigx =new float [5][4];//宣告豬的陣列X位置
float [][]pigy =new float [5][4];//宣告豬的陣列Y位置

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; //豬陣列 X軸 

      pigy[i][j]=100+j*100; //豬陣列 Y軸 

      pigAlive[i][j]=true;//surivie
    }
  }
}
void draw(){  //drawing

  background(255);//背景白色(contiune)
  image(imgBird,birdX,birdY,100,100);//s_
  for(int i=0;i<5;i++)
  {
    for(int j=0;j<4;j++)
    {
      if(dist(pigx[i][j],pigy[i][j],birdX,birdY)<50)
      {
        pigAlive[i][j]=false;
      }
      if(pigAlive[i][j]) image(imgPig, pigx[i][j], pigy[i][j], 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.995;
  birdVY *= 0.995;
}
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.import sound (if you can't find)

code:
import processing.sound.*;
SoundFile sound;
void setup()
{
  size(800,600);
  sound = new SoundFile(this,"birdsound.mp3");
  sound.play();
  sound.loop();
}

沒有留言:

張貼留言