[发明专利]基于Android系统可复用框架的手机游戏系统架构有效
申请号: | 201710784019.3 | 申请日: | 2017-09-04 |
公开(公告)号: | CN107544805B | 公开(公告)日: | 2020-08-14 |
发明(设计)人: | 程久军;卢钦;黄震华 | 申请(专利权)人: | 同济大学 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;H04M1/725 |
代理公司: | 上海科律专利代理事务所(特殊普通合伙) 31290 | 代理人: | 叶凤 |
地址: | 200092 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 android 系统 可复用 框架 手机 游戏 架构 | ||
1.一种基于Android系统可复用框架的手机游戏系统架构,其特征在于,包括游戏具体实现模块层、可复用框架模块层,其中,
所述游戏具体实现模块层包括:世界模块、逻辑处理模块、资源管理模块、界面更新模块,各个模块与传统经典中对应的各个模块一样;
所述可复用框架模块层包括:框架处理模块、输入模块、视图更新模块、图像绘制模块、声音处理模块、文件输入输出模块;
所述框架处理模块的AndroidGameActivity继承于Activity,实现Game接口,维护活动的生命周期,在Activity类的onCreate方法中创建了可复用框架模块层中的其它功能模块的实例化对象并保存对它们的引用,将当前的显示View设置为gameView;所述框架处理模块实现Game接口,负责协调可复用框架模块层内的各个功能模块的功能调用,某个功能模块如果需要调用其它模块的功能,可以通过调用框架处理模块中的相关get方法来获取对应模块的实例化对象来进行处理;所述框架处理模块的AndroidGameActivity负责显示screen的切换,通过调用setScreen方法实现;所述setScreen方法会先暂停前一个screen的显示并释放相关资源,再调用当前screen的初始化和启动方法来切换;
所述输入模块的AndroidInput类继承于Input接口,其中的两个成员keyHandler和touchHandler分别是按键事件的处理类和触摸事件的处理类,在框架处理模块AndroidGameActivity的onCreate方法中将会创建AndroidInput的对象,AndroidInput实例化的时候会自动创建KeyHandler类和TouchHandler类的对象,分别赋值给成员keyHandler和touchHandler;所述AndroidInput类中的方法最终都会调用KeyHandler类和TouchHandler类中的方法来实现;
所述输入模块的TouchHandler实例对象注册了对触摸事件的监听,通过其中onTouch方法的处理,输入模块将会获取到Android系统上报的触摸事件,并将这些触摸事件都保存到列表中;在Android游戏运行当中,游戏的逻辑处理模块会每隔一段时间就来获取从上一次事件获取到现在全部的触摸事件,并根据收到的触摸事件做出反应;逻辑处理模块通过调用TouchHandler类中的getTouchEvents方法来获取触摸事件,将触摸事件都返回给调用者的同时,getTouchEvents方法会将这次的触摸事件都从触摸事件列表中移除掉;
所述的视图更新模块,负责更新游戏的显示界面,将该模块分为两部分:AndroidGameView和Screen;所述AndroidGameView负责Android平台相关的部分,而Screen用来负责和Android平台无关的界面显示内容更新及逻辑部分的处理;
所述AndroidGameView类继承于SurfaceView,并实现了Runnable接口,利用resume方法创建了一个新线程,该新线程用来维护游戏的主循环及调用Screen的相关刷新方法来更新游戏界面;Screen用来负责和Android平台无关的但和具体的游戏部分相结合的界面显示内容更新及逻辑部分的处理;Screen设计为一个抽象类,继承了Screen类,具体显示XXXXScreen;XXXXScreen需要实现Screen抽象类中的init、update、draw方法;所述init方法用于具体screen的初始化操作;所述update方法会被AndroidGameView中的run方法自动调用到,处理逻辑部分和输入事件的获取处理;所述draw方法会被AndroidGameView中的run方法自动调用到,用于具体screen的界面显示内容的更新;
所述图像绘制模块负责图像的具体绘制,包括画点、画线、画矩形、画图片、背景清除,AndroidGraphics中实现的绘制方法最终是通过Canvas类中的绘制方法来实现;
所述声音处理模块负责声音的播放;包括两类音源,一类是文件较大且播放时间较长的音源,另一类是密集短促的即时音效;针对第一类的音源文件,通过封装调用MediaPlayer类来播放处理;针对第二类的音源文件,通过封装调用SoundPool类来播放处理;播放游戏中的背景音乐可以通过下面的步骤来完成:第一步,先实例化AndroidMusic对象,在AndroidMusic构造函数中,根据传入的背景音乐名称先初始化;第二步,通过AndroidMusic的play方法来实现背景音乐的播放;播放游戏中的即时音效可以通过下面步骤来完成:第一步,先实例化AndroidSound对象;第二步,通过AndroidSound中的play方法来实现;
所述文件输入输出模块,负责文件的读写,通过AndroidFileIO类中的方法来实现文件的读取和写入功能;通过AndroidFileIO中的readFile方法来打开文件,通过AndroidFileIO中的writeFile方法来写入文件;数据存储方式采用Preference存取基本数据类型的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同济大学,未经同济大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710784019.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:嵌入式系统终端开发模式的启动方法及装置
- 下一篇:可视化表单绘制方法