基于类的移动应用设计研究

作者:甘泉;王启明 刊名:系统仿真技术 上传者:曹远征

【摘要】在移动应用设计开发过程中,基于类的设计成为应用开发的主流方法,类的设计方法及运用直接影响应用开发过程及结果。在Android移动应用平台上,采用面向对象的移动应用开发,以雷电游戏为例,着重探讨类的设计,开发一个射击类游戏。在应用设计过程中,分析了系统接口类的特点。通过系统分析,设计和分析类、类间关系和类的组织。为了便于团队开发,提高类的复用性,提出了类的优化建议。最后实现并发布游戏。为移动应用平台,尤其是Android平台应用开发提供参考。

全文阅读

1引言Android操作系统因其稳定性、开发性、低成本等特点,受到广大手机游戏开发者关注。Android平台提供给开发者的开发类库,即Framework层提供的API(应用程序编程接口)和LIBRARIES层提供的一些类库,决定了移动应用的开发条件、开发过程和开发结果[1]。Android平台游戏设计是基于Android手机平台,运用Java语言,使用2D游戏引擎的部分技术,开发出针对于Android平台的手机应用[2]。本文以雷电游戏的开发为例,研究Android平台上移动应用中类的特性、组织、设计。基于Android平台借助面向对象的技术,对基础构件和常用设计进行抽象和实现[3]。2系统实体分析使用软件工程和建模大师PeterCoad所提出的事物模式[4]来寻找实体。把“游戏的运行”看作一个事务,围绕着这个事务来分析出系统中涉及的类。首先分析出主角,敌人,“Boss”和子弹等4个实体类,分别命名为Player,Enemy,Boss,Bullet。其次,应用还需要菜单和游戏背景,分别定义为:GameMenu和GameBackground。在实现的过程中,可能还会出现其他的类,将在实现部分具体分析和实现。在Android平台上开发游戏,需要使用系统预定义的回调接口,以及系统提供的方便游戏开发的一些类,比较重要的有Activity类。另一个比较重要的类是SurfaceView,它提供了局部重绘功能[5],这极大地方便了游戏程序员对屏幕的控制。至此,对系统的实体分析工作基本完成。3游戏框架的构建3.1Activity类Android的API中提供了Activity类,这个类实际上是一个接口,也可以说是系统的回调函数。在这个类中实现系统定义的接口,完成相应的编码,当系统调用该类时,就会实现期望的效果。在应用程序设计中,最需要关注的就是Activity类的生命周期,利用其生命周期,实现诸如程序的运行,暂停及数据的存储等一系列的操作。图1就是Activity的一个生命周期,在这个游戏的实现过程中,需要复写Activity预定义的方法,实现系统和游戏框架间的通信。对数据的存储一般在onPause()中实现,对数据的恢复在onResume()中实现,以确保程序在各种情况下能读取到正确的数据。3.2框架设计游戏的实现通常是基于一个循环,在这个循环中处理用户的输入,实现游戏的逻辑和各种角色的绘制。结构清晰的循环可以方便游戏的实现。在游戏雷电的实现中,使用如图2的循环结构。图中,Input()函数用来接收用户的输入,Logic()函数用来处理游戏的逻辑,Paint()函数用来实现游戏的绘制。循环过程中,循环的频率决定屏幕刷新频率,从而影响游戏画面的质感。图1Activity的生命周期Fig.1LifecycleofActivity图2游戏通常的框架[6]Fig.2Usualframeworkofgame3.3游戏框架的实现根据Activity类和一般游戏框架,雷电游戏框架实现过程如下。游戏的后续实现将会在这个框架的基础上,逐步扩充。(1)生成一个继承Activity的类MainActivity[7]。(2)创建一个继承自SurfaceView的类MySurfaceView,并在该类中实现游戏的框架(见图3中的loop片段)。(3)在MySurfaceView的onCreate()方法中调用setContentView()方法,设置屏幕上要显示的视图为MySurfaceView中的内容。在MySurfaceView中定义的Input(),Logic()和Paint()

参考文献

引证文献

问答

我要提问