bada 2D游戏编程——开篇说明
bada是三星电子于2010年推出的智能手机平台,到现在已经快三年了,一直处于不温不火的状态。尤其是在Android和iOS如日中天的时代,就更显的默默无闻了。大家都像被集体收买了似的将Window Phone列入了前三,虽然现在还名不副实,也许是大家对它有一个好爹而看好它吧。而反观bada就没有这么幸运了,一直过着实不副名的生活,我记得在2012年年初的时候网络上发布了一份移动操作系统市场占有率的报告,其中bada就是赫然在列,而且当时是高于Windows Phone的。但是曾经网上谣言四起,说是三星电子要放弃bada,全心全意拥抱Android。对于这种空穴来风的谣言,我只能说是信不信由你,反正我是不信了。我想造成这种现象的原因有很多,就拿出其中的几条来说一下,
1,因为大家认为三星电子是一家硬件厂商,而对于硬件公司推操作系统,大家都颇有微词。
2,因为大家认为三星电子是最大的Android智能手机厂商,所以对bada存在三心二意。
3,因为大家认为现在的智能手机操作系统大局已定,已经容不下第四者了。
我想说的是,这些都是大家的认为,不是即成事实。再加上在这个时代,没有什么是不可能的。所以,即使在大家这么不看好bada的情况下,我还是打算写bada相关的博客。
市场上bada相关的书籍不能用少来形容,准确的说是只有一本,就是<<Introduction to bada>>这本书,还是英文版的。所以对于国内想学bada的开发者来说,就不是很方便了。而Android和iOS相关的书籍就种类繁多了,游戏开发方面的书更是层出不穷,学习起来非常方便,我就买了一大堆这样书,只可惜了我那些花出去的钱,有些花的是挺冤的,感叹一下。
所以想通过博客的方式来帮助广大的开发者学习bada,就选了bada 2D游戏编程这一个方向。尽管现在市场上已经有适合bada 2D游戏开发的游戏引擎了(例如Cocos2D-x),但这些游戏引擎使用的是OpenGL ES进行图像渲染,不便于学习bada平台相关的知识。所以我在这系列博客中用的是bada本地的图形、图形绘制和处理功能。希望通过这些系统提供的基本功能来完成一个基本的游戏框架,能够让大家在学习bada编程知识的同时也了解2D游戏开发的一些基本概念和方法,同时这对我本人来说一个系统学习游戏编程的机会,大家共同学习,共同进步了。
下面是这系列博客的一个初步的计划:
(这个计划在后面指定会有大的改动,随时保持更新)
第一部分:基本知识和框架搭建
bada 2D 游戏编程之——游戏框架的实现
第二部分:精灵动画框架
bada 2D 游戏编程之——精灵动画
bada 2D 游戏编程之——精灵编辑器和精灵图片解析
bada 2D 游戏编程之——精灵类的实现
bada 2D 游戏编程之——关键帧动画编程
bada 2D 游戏编程之——精灵动作
bada 2D 游戏编程之——精灵动作系统的实现
第三部分:地图编程和游戏世界组成
bada 2D 游戏编程之——背景图片
bada 2D 游戏编程之——地图编程
bada 2D 游戏编程之——地图编辑和地图解析
bada 2D 游戏编程之——地图类的实现
bada 2D游戏编程之——状态模式的应用
bada 2D游戏编程之——布景类的实现
bada 2D游戏编程之——场景类的实现
第三部分:物理引擎
bada 2D 游戏编程之——匀速和加速运动
bada 2D 游戏编程之——重力系统模拟
bada 2D 游戏编程之——摩擦力模拟
bada 2D 游戏编程之——碰撞检测
bada 2D 游戏编程之——物理引擎Box2D
第四部分:事件处理框架
bada 2D 游戏编程之——触摸事件处理
bada 2D 游戏编程之——传感器事件处理
bada 2D 游戏编程之——事件处理框架
第五部分:声音引擎
bada 2D游戏编程之——播放音效
bada 2D游戏编程之——播放音乐
bada 2D游戏编程之——声音引擎
第六部分:模式的应用
bada 2D游戏编程之——单例模式的应用
bada 2D游戏编程之——资源管理器
第七部分:实践部分
bada 2D游戏编程之——完成一个简单的2D游戏引擎
bada 2D游戏编程之——打砖块游戏的实现