PROCESSING
憤怒鳥彈來彈去
前情提要:讓我們逐步來解析憤怒鳥這個遊戲的程式碼吧
ㄉㄨㄞˉㄉㄨㄞˉㄉㄨㄞˇㄉㄨㄞˉㄉㄨㄞˉㄉㄨㄞˇㄉㄨㄞˉㄉㄨㄞˉ
這是程式碼
首先,
PImage imgBird; 宣告憤怒鳥的照片位置.
接下來用五個函式來讓憤怒鳥跳起來
一.
void setup()
{size(500,400);屏幕大小imgBird=loadImage("bird.png");讀入圖片imageMode(CENTER);以中心點為座標}float birdX=100,birdY=300,
oldX,oldY,
vx=0,vy=0;一開始的速度是零boolean bMoving=false;如果(boolean)布林變數,成立or不成立
二.
void draw()
{background(255);背景(白色)image(imgBird,birdX,birdY,100,100);畫出鳥的大小100*100if(bMoving) line(mouseX,mouseY,oldX,oldY);/如果有選到,拉動時會畫線
(從原本的位置到滑鼠拖移的位置)
像這樣
birdX += vx; 憤怒鳥移動的速度
birdY += vy;if(birdX>500-50||birdX<50) vx=-vx;如果憤怒鳥碰到邊界會反彈if(birdY>400-50||birdY<50) vy=-vy;
放開之後就會ㄉㄨㄞˊㄉㄨㄞˊ
}
三.
void mouseReleased() 滑鼠釋放
{bMoving=false;不再移動=>可以彈射出去vx=(oldX-mouseX)/10; (舊的位置減掉滑鼠位置)
vy=(oldY-mouseY)/10;vx,vy代表彈跳的速度}
四.
void mousePressed() 滑鼠按下,判斷有沒有選擇到憤怒鳥
{if(dist(mouseX,mouseY,birdX,birdY)<50)距離小於50
{bMoving=true;開始移動憤怒鳥oldX=birdX; 先儲存憤怒鳥舊的位置
oldY=birdY;作為拉線的參考點}}
五.
void mouseDragged()滑鼠拖移
{if(bMoving)開始移動憤怒鳥
{birdX=mouseX; 憤怒鳥的位置在滑鼠位置
birdY=mouseY;}}
心得: 學習了憤怒鳥的彈跳程式覺得很有趣,充分的使用了滑鼠選擇和拖移的作用.




沒有留言:
張貼留言