今年刚開始学习android,自己在寝室捎带学习了下做APP,因为是刚開始学习,这个游戏仅仅注重了游戏的实现,实现了大概功能后。也没有实现游戏的细节,像分数图片的显示等。也没有注意代码的结构。一个字就是乱。!留待有缘人完好改动吧~~~
代码下载地址:download.csdn.net/detail/a624731186/7594383
假设完好了的话。有空的话我邮箱发一封。624731186@qq.com
以下是官方的游戏效果:
以下是我的游戏效果:资源图片是在网上下载的,有点不同
代码主要使用了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);
}
}
大概说了下实现思路,希望别误导新人!。。