今年刚开始学习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);
}
}
大概说了下实现思路,希望别误导新人!!!