---------------------------------
有一定java基础并了解Android的基本工作方式弄清楚之后,就可以自学小游戏开发了。
我所说的小游戏指逐帧绘制2D游戏,属于自学自用自娱自乐型的。专业游戏咋搞,确实不知道。
-------------------
首先,学习java绘图/android绘图,可以将一些图片资源随心所欲的绘制。说白了就是掌握Canvas和Bitmap类。推荐看看java核心编程中的绘图部分 和 android-api-demo的绘图部分。
然后,了解游戏的工作原理。一般逐帧绘制的2D游戏都有一个这样的逻辑
1. while(mRun) {
2. update();//更新游戏中各个物件的状态
3. draw();//将各个物件绘制
4. }
复制代码
android也不例外,可以看看Sample中的LunarLander Demo,就知道android中最简单的2D游戏是什么样的了。
再后,精读几个小游戏的源码,最好是完整的游戏而非Demo。android完整的游戏源码不是很多,可以直接参看一些java小游戏源码。在这里强烈推荐一下消除类游戏FrozenBubble(开源)
代码量不大,但涉及了一个完整游戏的各个方面。入门者精读之后,内力飙升!这一步主要是学习一下游戏具体实现中有哪些问题需要解决,呵呵,做游戏的思路和开发桌面应用的思路区别还是挺大的。
如果是自娱自乐型的,基本就可以动手搞一个连连看,坦克大战之类的小游戏出来了。如果是深入学习型的要看一些游戏框架的源码和具体使用,使用开发框架可以大大的提高效率。以前转过一篇 android开源游戏引擎的帖子,楼主自己搜一下吧。我自己功力有限,仅仅是粗读LGame源码,仍觉收益匪浅,感叹游戏开发之路任重而道远。
顺便说一下,可以订阅一些游戏开发牛人的博客,看看前辈高人都在关注什么。
推荐几个我经常看的:
LGame作者
HIMI android游戏教程
http://yarin.blog.51cto.com 有一些3D教程
以上是我学习的基本过程,之后怎么搞就不清楚,还望指点。