植物大战僵尸对战版(Android)
By 马冬亮(凝霜 Loki)
一个人的战争(http://blog.csdn.net/MDL13412)
这个软件是去年年末参加中国移动2011"MM百万青年创业计划"的作品,和两个队友一起开发了10天的成果。
我们三个人先前都没有接触过移动开发和游戏开发,另外两个队友对JAVA一窍不通,这个项目就是在这个大背景下开发出来的,所以写的很粗糙。
先贴几张游戏截图,让大家看一下效果:(视频见http://v.youku.com/v_show/id_XNTE0Njc4MTg0.html)
这篇文章只简述一下程序实现的关键点(源码下载链接http://download.csdn.net/detail/mdl13412/4108312):
界面:
1. 由于游戏的特殊性,不能使用Android的默认界面,所以全部游戏界面均为自绘方式实现。
2. 界面分辨率固定为480*320,这是由于我们不了解Android平台如何进行多分辨率的坐标映射。
3. 所有非游戏界面均为贴图实现,并对相应位置设置事件响应机制,处理用户操作。
设计:
1. 对于所有的图像及音像资源,均采用自建的工厂进行管理,以便于扩充(注:C++风格)。
2. 采用延时方式进行游戏进程推进,而没有使用定时器。
3. 建立僵尸、植物、阳光基类,封装基本操作,对于特殊操作,子类自行进行覆写。
4. 对游戏数据进行加锁,以保证线程安全。
5. 阳光自动收集,减少用户操作次数。
6. 采用的是一台手机进行对战,其最主要原因是没有两台Android的手机,T_T...
7. 所有资源仅在游戏载入时加载一次,不重复加载。
8. 图像资源在加载后进行缩放,以满足要求。
操作:
1. 游戏界面的操作以拖拽为主,其余界面均为点触操作。
以上就是这个游戏设计的关键点,如果大家觉得有需要,我会写一下源码的分析文章。欢迎大家批评指教。