今年剛開始學習android,自己在寢室捎帶學習了下做APP,由於是剛開始學習,這個遊戲只注重了遊戲的實現,實現了大概功能後,也沒有實現遊戲的細節,像分數圖片的顯示等,也沒有注意代碼的結構,一個字就是亂!!留待有緣人完善修改吧~~~
代碼下載地址:download.csdn.net/detail/a624731186/7594383
如果完善了的話,有空的話我郵箱發一封,[email protected]
下面是官方的遊戲效果:
下面是我的遊戲效果:資源圖片是在網上下載的,有點不同
代碼主要使用了SurfaceView控件來刷新圖片
主要有個5部分,刷新背景,刷新下面的草地,刷新柱子,刷新小鳥,計算分數
1:刷新背景
每隔50毫秒刷新背景圖片,注意背景全屏就可以,刷新背景的目的是掩蓋別的圖片殘留下的動態效果
2:刷新柱子
柱子也是隻有上下2副圖片,但是在屏幕上看起來長短不一,似乎有好多,實現辦法是 每次產生一個隨機數,來決定下個柱子顯示的長度,中間的間隔固定爲3個小鳥的高度
3:刷新草地
草地看起來有移動效果,其實是一張圖片每隔50毫秒重新設定在屏幕上的X,Y座標,這樣就有移動效果
4:刷新小鳥
小鳥有3副圖片,分別翅膀上,中,下,輪流顯示就可以了
5:計算分數
當小鳥碰到柱子和地面,就判定小鳥死亡,主要是計算小鳥的圖片和柱子的圖片和或者草地的圖片,有沒有交集,如果有交集,就認爲死亡,遊戲結束
計算分數是當小鳥離開柱子5個像素點時,就認爲此次通過,分數加一
上面5步,對應下面的5個函數
public void myDraw() {
try {
mcanvas = msfh.lockCanvas();
if (mcanvas != null) {
mcanvas.drawColor(Color.WHITE);
drawBackground();
drawPillar();
drawMoveBg();
drawBird();
calcuScore();
}
} catch (Exception e) {
// TODO: handle exception
} finally {
if (mcanvas != null)
msfh.unlockCanvasAndPost(mcanvas);
}
}
大概說了下實現思路,希望別誤導新人!!!