首先在详细介绍之前。先来看一下游戏最终的结果。也让大家有一个小小的期待。
准备发射子弹
发射子弹
射击目标
看到游戏截图,是不是有点意思。那么,继续往下看吧,开始吧!
----------------------------------------------------------------------------------------------------------------------------------
本文基于Android开发弹弓类游戏。使用了box2D物理引擎。在本文中设计到如下知识点:
Android项目的搭建
Box2D物理引擎的引入
游戏世界的创建
旋转关节、鼠标关节、焊接关节的使用。
移动游戏场景
镜头跟随移动的物体移动等
一.前期准备
开发游戏之前需要已经配置好android开发环境的eclipse(详细的配置过程再次不再赘述)。和box2D物理引擎。在这个项目中,使用java版的box2D--àJbox2D。版本为Jbox2d 2.1.2。
再次说明jbox2d 2.1.X版本和 jbox2d 2.0.X版本有许多不同之处,跟新了很多方法。所以提醒大家在开发项目之前应尽量去官网(http://www.jbox2d.org/)下载最新版本,防止带来后期维护的麻烦。
二.创建项目
1. 新建android项目
下面简单介绍一下创建一个新的android项目的方式。
File->new->other->Android->Android Application Project
点击Next
接下来选择 应用名称,项目名称,包名称,选择 Android sdk库,在这里,我们用android2.2进行开发。
创建应用图标。(新版本的adt提供了强大的图标工具,可以指定图片文件或者文字作为项目的图标文件)
点击Finish。创建Android项目完成。
2. 剖析Android Project 结构
Andorid项目创建完成之后,可以在“Pckage Explore”视图中看到整个项目的结构。接下来对结构进行剖析。
3. 引入Jbox2D物理引擎
此游戏中会出现非常多的物理场景的模拟,比如:碰撞,下落,摩擦,质量等等。在这里我们使用基于Java版本开发的Box2D物理引擎Jbox2D进行物理场景的模拟。Jbox2D: jbox2D 物理引擎原版 Box2D 是采用C++编写的,后来扩展到java,as等多种版本。著名手机游戏愤怒的小鸟便是采用jbox2D物理引擎。下面引入Jbox2D物理引擎:右键当前项目,进入属性对话框。引入Jbox2d文件。
此时jbox2d屋里引擎已经成功引入到我们的项目中。
4. Android游戏中的坐标系
在开发游戏之前先来了解一下物理世界 (游戏世界)与手机屏幕坐标系之间的关系。坐标系的原点是手机屏幕的左上角。然而物理世界可以无限延伸,手机屏幕只是显示了物理世界的一部分。可以通过下图很好的了解物理世界与手机屏幕的关系。需要注意的就是,游戏世界中的坐标系与显示中我们用的坐标系不太一样,y轴是相反的。
5.引入图片文件
项目所需要的图片。可以直接进行下载(https://github.com/gpambrozio/cute-a-pult/raw/master/images.zip)
项目中所使用的图片都存放在res/drawable文件夹中,把图片全部拷贝到此文件夹下。
到这里,前期的准备已经都做完了。我们会在下一章中,我们会介绍游戏界面的创建,以及在游戏界面中,加入静态图片和游戏场景的移动。