2017年9月30日 星期六

Week 03 : 普通的ㄒㄆ的普通的筆記


今日目標 :

1.做出angrybird遊戲
2.小朋友下樓梯


重要概念 : 

1. mouseReleased() :滑鼠放開


一、先找兩張圖,並將他們輸入至程式中


若圖片太大,可以在 image 函式後,加上(100,100)


二、加上 mouseReleased 和 mouseDragged  結合牛頓第二定律作出彈出的狀態



三、加上AX與AY 讓鳥能夠受到重力掉下來




四、讓鳥撞到豬,ˊ豬會消失 (pigAlive)



程式碼: 

PImage imgBird, imgPig;
void setup()
{
  size (800,600);
  imgBird=loadImage("bird.png");
  imgPig=loadImage("pig.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(imgPig,400,300,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,700);
  imgBird=loadImage("bird.png");
  imgPig=loadImage("pig.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(imgPig,400,300,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>width-50) {birdY=width-50; 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;

}


沒有留言:

張貼留言