- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
移动平台上射击类游戏设计研发
移动平台上射击类游戏设计研发
1引言
Android操作系统因其稳定性、开放性、低成本等特点,受到广大手机游戏开发者关注。Android平台提供给开发者的开发类库,即 Framework层提供的API和LIBRARIES层提供的一些类库,决定了移动应用的开发条件、开发过程和开发结果。Android平台游戏设计是基于 Android手机平台,运用 Java语言,使用 2D游戏引擎的部分技术,开发出针对于Android平台的手机应用。这里以雷电游戏的开发为例,研究 Android平台上移动应用中类的特性、组织、设计。基于Android平台借助面向对象的技术,对基础构件和常用设计进行抽象和实现。2系统实体分析在游戏设计中,需要寻找实体。这里使用OOAD大师 PeterCoad所提出的事物模式来寻找实体。在一个游戏中,可以把“游戏的运行”看作一个事务,围绕着这个事务来分析出系统中涉及的类。对于一个游戏来说,通常需要有主角,敌人,以及Boss。在雷电游戏中,由于是射击类游戏,因此需要子弹这一实体类。至此共分析出4个和事物相关的实体类,分别命名为 Player,Enemy,Boss,Bullet。除此之外,一个游戏还需要菜单和游戏背景,分别定义为:GameMenu和 GameBackground。
在实现过程中,可能还会出现其他的类,将在实现部分具体分析和实现。在 Android平台上开发游戏,需要使用系统预定义的回调接口,以及系统提供的方便游戏开发的一些类。本论文在游戏框架中将要介绍的类 Activity就是其中的一个。此外,对于游戏开发,另一个比较重要的类是 SurfaceView,它提供了局部重绘功能,这极大的方便了游戏程序员对屏幕的控制。这里又分析出两个由系统提供的类,至此,对系统的实体分析工作基本完成。3游戏框架的构建3.1Activity类在 Android提供的 API中,Android提供了Activity类,这个类实际上是一个接口,也可以说是系统的回调函数。程序员只要在这个类中实现系统定义的接口,完成相应的编码,当系统调用该类时,就会实现程序员所期望的效果。在 Android应用程序设计中,最需要关注的就是 Activity类的生命周期,利用其生命周期,实现诸如程序的运行,暂停及数据的存储等一系列操作。图1就是Activity的一个生命周期,在这个游戏的实现过程中,需要复写 Activity预定义的方法,实现系统和游戏框架间的通信。对数据的存储一般在onPause()中实现,对数据的恢复在 onResume()中实现,以确保程序在各种情况下能读取到正确的数据。3.2框架设计游戏实现通常是基于一个循环,在这个循环中处理用户输入,实现游戏逻辑和各种角色绘制。
结构清晰的循环可以方便游戏的实现。在游戏雷电的实现中,使用如图2的循环结构。图2中,Input()函数用来接收用户输入,Logic()函数用来处理游戏逻辑,Paint()函数用来实现游戏绘制。再循环过程中,循环的频率决定屏幕刷新频率,从而影响游戏画面的质感。如使用每秒16帧的间隔会出现抖动,而 50帧的间隔会使画面更真实。刷新频率受设备处理能力等影响,可根据具体需求而定,一般取值范围为,在此,雷电游戏的实现使用了每秒20帧的间隔。3.3游戏框架的实现根据Activity类和一般游戏框架,实现雷电游戏框架,其实现过程如下,游戏的后续实现将会在这个框架的基础上,逐步扩充。(1)生成一个继承 Activity的类 MainActivity。(2)创建一个继承自 SurfaceView的类 MySurfaceView,并在该类中实现游戏的框架(见图 3中的loop片段)。(3)在 MySurfaceView的 onCreate()方法中调用 setContentView()方法,设置屏幕上要显示的视图为 MySurfaceView中的内容。在 MySurfaceView中定义的 Input()、Logic()和Paint()方法中将调用其他类中对应的Input()、Logic()和 Paint()方法。整个系统对象的交互过程如图3所示。由于在 MySurfacView中实现的角色对象都继承自 Sprite,并且为了清晰显示序列图中的交互过程,图3中通过使用多个 Sprite对象代替 Player、Enemy、Boss等对象,来显示对象间的交互情况。同时在图3中使用了 OPT片段来显示在 MySurfaceView中游戏进入不同状态时系统的行为。由于在每个状态中都执行onInput(),onLogic()和onPaint()方法,所以图3中省略了其他状态时系统的行为。4系统静态结构设计4.1类的关系在需求分析中通过需求
您可能关注的文档
最近下载
- 道路软土地基强力搅拌就地固化技术规程.pdf VIP
- 数字智慧某著名企业FCM财务成熟度评估模型(149页PPT).pptx VIP
- 一种内置控制器的大行程电动夹爪.pdf VIP
- 中国IBD蓝皮书 -中国炎症性肠病医患认知 暨生存质量报告 溃疡性结肠炎部分.docx
- 《机动车驾驶员培训管理考试卷.doc VIP
- (四级)无人机驾驶员(航拍)理论考试题库完整.docx VIP
- 人教版高一生物必修1教学设计4-3物质跨膜运输的方式.doc VIP
- 量子信息学导论 课件 第7章 量子模拟(1).pptx VIP
- PCB化学镀镍无钯活化瞬时工艺研究:铜镍逆置换的应用探讨.docx VIP
- 医院课题经费预算调整申请表模板使用说明.doc VIP
- 软件下载与安装、电脑疑难问题解决、office软件处理 + 关注
-
实名认证服务提供商
专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!
文档评论(0)