2017年10月2日 星期一

Week04 跳跳跳

憤怒鳥

憤怒鳥


找圖檔 --名字.png

拉進去processing 裡面 (Ctrl+K 打開程式目錄)

程式碼:

PImage imgBird, imgPig;

void setup(){
  size(800,600);
  imgBird=loadImage("bird.png");
  imgPig=loadImage("ppig.png");
  imageMode(CENTER);
}
float birdX = 400, birdY = 300;
float birdVX = 0, birdVY = 0;
float birdAX =0, birdAY = 0;
float pigx=700, pigy=100;
boolean pigAlive=true;
void draw(){
  background(255);
  if(pigAlive) image(imgPig, pigx, pigy, 100, 100);
  image(imgBird, birdX, birdY, 100, 100);
  if (dist(pigx, pigy, birdX, birdY)<100){
    pigAlive=false;
  }
  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;
}

執行後跑出


讓憤怒鳥出現多個


程式碼:
PImage imgBird, imgPig;
float birdX = 400, birdY = 300;
float birdVX = 0, birdVY = 0;
float birdAX =0, birdAY = 0;
float [][]pigx=new float[5][4];//宣告豬X,Y位置陣列
float [][]pigy=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];//每隻豬存活陣列
void setup(){
  size(800,600);
  imgBird=loadImage("bird.png");
  imgPig=loadImage("ppig.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.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;
}

執行後跑出

放入音樂


程式碼:

import processing.sound.*;
SoundFile sound;
void setup(){
    size(800,600);
    sound = new SoundFile(this,"tt.wav");
    sound.play();
    sound.loop();
}



import ddf.minim*;

Minim minim;
AudioPlayer player;

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

}
將音樂放入目錄並調整設置

沒有留言:

張貼留言