android物理系统的研发与实现基金项目申报书(编辑修改稿)内容摘要:

□不 同意立项 (注:请评审老师在方框中划钩) 评语: 签字: 年 月 日 12 十一、院级团委意见 (部门盖章) 年 月 日 十一、评审教师意见 □ 同意立项 □不 同意立项 (注:请评审老师在方 框中划钩) 评语: 签字: 年 月 日 十二、校团委意见 (部门盖章) 年 月 日 十三、反馈部分: 项目名称: 项目类型: 项目负责人: 学号: 学院及专业: 联系电话: 手机: 电子信箱: 结题日期: 13 评审老师意见: 签字: 年 月 日 14 [Android]平衡球项 目之 andEngine的物理世界 开发文档 : 项目名称: Android 平衡球项目之 andEngine 的物理世界游戏开发。 项目用途:设计一款简单的平衡球游戏,实现其在智能真机和模拟机上的运行。 : 我们组做的是平衡球项目。 作为一个平衡球,首先让小球实现碰撞,弹性等物理性质。 在重力感应方面 android 有自己的处理模块,由此我们想到了物理引擎。 在综合一切因素之后,我们决定选用 andEngine 作为我们的设计支柱。 andEngine 是一个基于 OpenGL ES 图形接口和 box2d 的物理引擎,其包含的物理引擎来自于 BOX2D。 3. 总体设计: andEngine 引擎的主类必须继承 BaseGameActivity,它最终继承类 Activity。 主类需要完成四个基本函数的重载,以下的重载顺序也是引擎工作的执行顺序。 ( 1) .onLoadEngine() 负责产生一个镜头和加载一个引擎实体。 记住,你后面在手机上看到的东西都是透过镜头看到的,镜头指定了游戏的解析率,无论你的手机屏幕分辨率多少,引擎都会按照自己指定的分辨率去重造你的屏幕。 设定好镜头以后返回一个以此镜头为标准的引擎实 体。 ( 2) .onLoadResource() 加载资源。 其实加载资源多的工作可以放到 onLoadScene()里面完成,但是作者既然写了这么个函数,我猜他就是想让代码层次清晰一些,在这里面你可以加载你需要的资源,以便后面加载场景的时候使用。 ( 3) .onLoadScene() 加载场景。 有了镜头,就应该由场景吧,导演一般都是这么想的。 这时候你需要创建一个场景,场景里加载刚才的资源,最后将场景返回,最基本的游戏就可以起来了,此时游戏是没有规则的,但是程序已经可以启动,画面里只有你加载的资源。 ( 4) .onLoadComplete() 15 这个函数是 Option 选项,写在其中的代码将在场景加载完毕后执行,相当于善后工作。 4. 详细设计: [Android]平衡球项目之 andEngine 资源加载 andEngine 的资源加载十分简单,大概分为以下几步: ( 1) .构建实体 andEngine 的库里有一个包就是 Entity,中文翻译就是实体, Entity 类下有很多类,他们都算实体类,可以生成实体,一个简单的举行 实体如何定义 : Shape rectangle=new Rectangle(0,0,50,50)。 参数表明在 (0,0)坐标点生成一个宽 50高 50的矩形,单位是像素,这样,一个实体就构建好了。 ( 2) .加载实体 前面说过,我们看到手机屏幕显示的东西都是透过镜头 (Camera)的,镜头看到的永远是场景 (Scene),所以实体是加到场景里的,所以可以用如下语句加载实体 : ().addEntity(rectangle)。 因为场景可以分层 (Layer),所以我们用 getTopLayer()来获取顶层场景。 我们前面谈及了如何在场景里加载实体,下面我们将讲讲我们如何让实体实现物理性质。 [Android]平衡球项目之 andEngine 的物理世界 很多物理引擎和游戏引擎都会有世界 (World)的概念, andEngine 也不例外,我们就是通过在场景里设置物理世界使得其中的物体具有物理性质的。 ( 1) .主类 中的一个成员变量: private PhysicalWorld world。 ( 2) .创建 world 实例: = new FixedStepPhysicsWorld(30, vector, false, 8, 1)。 其中 30代表 FPS, vector 代表了指定的重力加速度矢量,为 Vector2类。 ( 3) .这里有一个中间概念,物理对象,加入物理世界的实体通过物理对象赋予物理性质: Private final FixtureDef wallFixtureDef = (1, , )。 16 这里的参数决定了物理性质。 ( 4) .为场景里的实体创造 body,使其有血有肉: Body body=(world,ball,wallFixtureDef)。 其中 world 指定所在的世界,为 ball 赋予物理性质,生成一个动态物体,与物理物体关联,产生一样的物理性质。 ( 5) .为实体注册物理世界,这样才能使其具有物理性质: (new PhysicsConnector(entityBrick, entityBody, true, true, false, false))。 为实体 entityBrick 以 entityBody 生成物理物体。 至此,一个具有物理性质的实体就创建好了。 5. 主要程序说明: package。 import。 import。 import。 import。 import。 import。 import。 import。 17 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 18 public class PWActivity extends BaseGameActivity implements IAccelerometerListener{ /** Called when the activity is。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。