flappy bird
最近一段时间由于课题不是很忙,没什么事做,又碰上安卓最近火爆的样子。决定开始学学安卓,看看上面一个个的游戏时怎么开发的。本人是学c++的对java没接触过,也不打算因为学安卓再次去恶补java支持。只是碰到不懂的上网查查。为求快速入门上网找了一个fappybird的源代码分析分析。觉得有两个比较重要1)怎么获得位图资源,以及怎么管理。
Bitmap birdUpBitmap,birdDownBitmap,birdMiddleBitmap,groundBitmap,otherStartBitmap;
Bitmap courseUpBitmap,courseDownBitmap,courseMiddleBitmap;
Bitmap pillarUpBitmap,pillarDownBitmap,gameOverBitmap,recordBitmap,playAgainBitmap,listBitmap,goldBitmap,silverBitmap,bronzeBitmap,whiteGoldBitmap,gameBackgroundBitmap;
//载入图片
otherStartBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.other_start);
birdUpBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bird_up);
birdDownBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bird_down);
2)最后是里面的线程操作,感觉和c++中还是差不多的。
@Override
public void run()
{
// TODO Auto-generated method stub
while (true)
{
// 通过发送消息更新界面
Message m = new Message();
m.what = 0x101;
mRedrawHandler.sendMessage(m);
try
{
Thread.sleep(20);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
最后硬凑凑出了一个自己的 “fappybird”, 玩法类似自己添加了一些道具,提高可玩性。
自己写的有些漏洞。
本人现写的游戏界面如下:
以上为在我手机上运行的效果, 可玩性不错。 由于本人基础不行, 学习android也只有十天, 代码现在还比较粗糙,也没多少编程技巧。 下面先分享一下网上下的flappybird的代码和 一些素材, 最后是本人的app, 如果游戏过程中有什么bug或问题,欢迎指正批评。
本人所写 apk现发现存在一些问题: 游戏对屏幕尺寸不同的手机界面可以自动适配,但是游戏体验不能保证一致,例如飞机的移动和坠落,在不同分辨率下是体验不同的。 本人也是在不同手机上测试才发现的,开发经验少,没办法。 后期将修复。
ps: 感觉做个应用,真不容易,好多细节要注意,好多屏幕要适配。以前用软件有点不爽,就要开始抱怨,这开发者都是 XX啊! 现在觉得真不容易。 以后好好学习。
/
// 共同学习共同进步 下载方式稍候公布
/
(csdn 免积分下载): http://download.youkuaiyun.com/detail/lmnxjf/7356341
(百度网盘下载): http://pan.baidu.com/s/1sjFFLTj
(单个apk文件 百度网盘下载): http://pan.baidu.com/s/1i33eVy9(已更新, 保证直升机体验基本一致, 后期再优化)
2014年5月16日 14:07:56