最近在利用业余时间自学游戏开发,在看《Begining Android Games》,并学习了一下其中libgdx的原型实现和一个示例工程Mr. Nom。今天使用libgdx实现了一个简单的游戏场景:类似坦克大战中,一个坦克从左往右发射子弹。
效果图如下:
中间向上的箭头可以增加坦克同时发射的炮弹数目,右边的x按钮是发射键。
libgdx还是很强的,起码对于我这样不懂游戏开发的人来说,很容易上手。
demo实现中还有一些问题:
1.坦克不能移动,虽然留出了接口,但是想了想实现,还挺复杂
2.炮弹的发射、轨道机制还有问题,入上图所示,出现了炮弹相连的情况;炮弹渲染轨迹不是平滑的
3.代码没有经过优化的。程序运行一会,手机后盖处有明显的发热(不知道是插着数据线的缘故还是程序实现占用太多的cpu)
4.纯Canvas API实现的,没有用到OpenGL,性能上可能有问题。(譬如炮弹的渲染,我把渲染间隔降低,炮弹渲染轨迹可以稍微平滑一点,不过CPU耗费明显加大,机器发热明显)。仅从这个demo还不能看出Canvas API的局限性,如果当画面足够复杂,像Replica Island那样的或者3D,Canvas肯定就hold不住了。(注意:使用OpenGL ES的话,OpenGL ES实例化就会占用8M内存,这一点在做应用开发的时候需要特别注意,如果应用可以不用OpenGL ES就可以做的很好的话,还是不要用了,毕竟8M内存带来的副作用还是不小的)。
5.从上面的问题可以看出,游戏开发还是很有门槛的。而且需要多动手,这些问题我也是写这个demo时碰到的。
想了想上面的几个问题,都还没有好的解决方法。而且这几个都是很硬的问题,都是需要搞定的。希望在后面的学习中能发现解决的办法。
源码(包含Mr. Nom实现部分):https://nsworks.googlecode.com/svn/ringring
分享到:
相关推荐
android游戏开发框架libgdx的使用9.pdf
android游戏开发框架libgdx的使用教程,版权归黄云坤,本人只是引用,供大家是使用。http://www.cnblogs.com/htynkn/archive/2011/11/10/libgdx_1.html
android游戏开发框架libgdx的使用3归纳.pdf
android游戏开发框架libgdx的使用3[归纳].pdf
android游戏开发框架libgdx的使用(二)--图形绘制[汇编].pdf
android游戏开发框架libgdx的使用9定义.pdf
android游戏开发引擎 libgdx 游戏开发的利器
android游戏开发框架libgdx的使用(一)--环境搭建.pdf
android游戏开发框架libgdx的使用9[参考].pdf
android游戏开发框架libgdx的使用(一)--环境搭建知识.pdf
android游戏开发框架libgdx的使用(二)--图形绘制借鉴.pdf
android游戏开发框架libgdx的使用(十二)—TiledMap地图的使用.pdf
android游戏开发框架libgdx的使用(十二)—TiledMap地图的使用借鉴.pdf
使用LibGDX开发一个完整游戏 教程全集
android 开源游戏引擎libgdx做的小游戏源码
这是一个android studio可运行libgdx的demo,由作者于2020年10月14号亲自测试通过,可以在android模拟器中正常运行。
braingdx,:视频游戏:基于libgdx的游戏jam框架。.zip