2017年9月30日 星期六

week03


載入憤怒鳥跟豬的圖片記得要把圖拉進去
圖片需要改成從角落當中心變成圖片中心當中心
imageMode(CENTER);
讓他能像拉彈弓一樣出去需要BIRD的位置加上速度
birdX birdY birdVX birdVY


除了位置速度 還要加上個加速度AX


現在讓bird碰到pig能消失

PImage imgBird,imgPig;

void setup(){
  size(800,600);
  imgBird=loadImage("bird.png");
  imgPig=loadImage("pig.png");
  imageMode(CENTER);
}
float birdX=400,birdY=300,pigX=600,pigY=100;
float birdVX=0, birdVY=0;
float birdAX=0,birdAY=0;
boolean pigAlive=true;
void draw(){
  background(255);
  //ellipse(birdX, birdY, 100,100);
  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;
  birdVX +=birdAX;
  birdVY +=birdAY;
}
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;

void setup(){
  size(800,600);
  imgBird=loadImage("bird.png");
  imgPig=loadImage("pig.png");
  imageMode(CENTER);
}
float birdX=400,birdY=300,pigX=600,pigY=200;
float birdVX=0, birdVY=0;
float birdAX=0,birdAY=0;
boolean pigAlive=true;
void draw(){
  background(255);
  //ellipse(birdX, birdY, 100,100);
  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;}///高度
  ///多於50是因為讓他露出整個圖片出來
  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;
}


憤怒鳥的程式碼跟小朋友下樓梯的程式碼很像





沒有留言:

張貼留言