首先在详细介绍之前。先来看一下游戏最终的结果。也让大家有一个小小的期待。

准备发射子弹

74c501286165a9f5d2cae52a6c6a02ec.png

发射子弹

9a94dc8095c9458fdb289ce37f6c2f29.png

射击目标

bc8a6a01181266e816ff66a8714cec40.png

看到游戏截图,是不是有点意思。那么,继续往下看吧,开始吧!

----------------------------------------------------------------------------------------------------------------------------------

本文基于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

6af75575849adbf230b44a5b1a0649c3.png

点击Next

27d333064e38436c33fa084cf22812e9.png

接下来选择 应用名称,项目名称,包名称,选择 Android sdk库,在这里,我们用android2.2进行开发。

e1bab793eef3e91398d55acea8b9ba12.png

创建应用图标。(新版本的adt提供了强大的图标工具,可以指定图片文件或者文字作为项目的图标文件)

79a246c82e73f02644a7d7866a2990f7.png

7b9c4011f8971a8746e1f9852e8ff6d6.png

点击Finish。创建Android项目完成。

cf3fac9bbd416ee262b567272ee0981c.png

2.剖析Android Project结构

Andorid项目创建完成之后,可以在“Pckage Explore”视图中看到整个项目的结构。接下来对结构进行剖析。

052a642b8f0fd22840edc27870746f68.png

bab5f8055c9e64ef7ab6612894bef596.png

3.引入Jbox2D物理引擎

此游戏中会出现非常多的物理场景的模拟,比如:碰撞,下落,摩擦,质量等等。在这里我们使用基于Java版本开发的Box2D物理引擎Jbox2D进行物理场景的模拟。Jbox2D: jbox2D 物理引擎原版Box2D是采用C++编写的,后来扩展到java,as等多种版本。著名手机游戏愤怒的小鸟便是采用jbox2D物理引擎。下面引入Jbox2D物理引擎:右键当前项目,进入属性对话框。引入Jbox2d文件。

f8e97deee4ad07374c36618da77f384a.png

此时jbox2d屋里引擎已经成功引入到我们的项目中。

3a6cdf4d09e6c44455ae23987649f4af.png

4. Android游戏中的坐标系

在开发游戏之前先来了解一下物理世界(游戏世界)与手机屏幕坐标系之间的关系。坐标系的原点是手机屏幕的左上角。然而物理世界可以无限延伸,手机屏幕只是显示了物理世界的一部分。可以通过下图很好的了解物理世界与手机屏幕的关系。需要注意的就是,游戏世界中的坐标系与显示中我们用的坐标系不太一样,y轴是相反的。

8731437909c2c038c166f359f149ffb2.png

5.引入图片文件

a8a854eac1830ea11b32d5cc7cbd6a91.png

项目中所使用的图片都存放在res/drawable文件夹中,把图片全部拷贝到此文件夹下。

bd9fbc03a7bb77fb43723c3cffc32206.png

到这里,前期的准备已经都做完了。我们会在下一章中,我们会介绍游戏界面的创建,以及在游戏界面中,加入静态图片和游戏场景的移动。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐