版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于SymbianO第能手机游戏开发的研究吴小波(1,2)金纯(1,2)王时龙(1)许光辰(1)(重庆大学软件学院(1)重庆400044重庆金瓯科技开展有限责任公司(2)重庆400039)地址:重庆市石桥铺科园三路106#高新区留学人员创业园208#202室邮政编码:400039:02360603888摘要:本文介绍一种智能手机操作系统SymbianOS,并对SymbianOS的性能进展简单的分析。讨论了SymbianOS在实际游戏开发中应注意的几个问题,并以S60SDK开发平台为例,通过在声音、图像上的处理以及它独特的通讯体系构造阐述SymbianOS在智能手机游戏开发的应用。关键词:Sym
2、bianOS智能手机子图形通讯体系TheResearchInGamedevelopingOfIntelligenceMobileTelephoneBaseOnSymbianOSWuxiaobo(1,2)Jinchun(1,2)Wangshilong(1)Xuguangchen(1)TheUniversityofChongQing(1)ChongQingJinOuScience&TechnologyDevelopmentCo.,LTD(2)Address:Chuangyeyuan208#Keyuan3rdRoad106#,Hi-TechDevelopmentZoneChongqingZipCod
3、e:400039Tel:(023)Abstract:ThethesisintroducedakindofIntelligenceMobileTelephoneOperatingSystems(IMTOS),andanalyzedtheSymbianOSfunctionconcisely.Thethesis,whichdiscussedseveralimportantproblemsaboutSymbianOSinactualgamedeveloping.BaseontheS60(SDK)developingflatform,discussedtheapplicationofSymbianOSi
4、ngamedevelopingofintelligencemobiletelephonebytheprocessingofvoice、graphicsanduniqueCommunicationSystemitself.Key:SymbianOSIntelligenceMobileTelephoneChildGraphicsCommunicationSystem引言随着计算机技术和通信技术的迅猛开展,嵌入式已逐步转为重点开展行业,特别是在嵌入式游戏软件开发和芯片技术更为突出。在嵌入式行业中开展比较突出的为智能手机,智能手机是由普通手机以通话为中心的手机开展而来。但是,智能手机所具有的功能以远远
5、超过通话,通话只是其中的一种功能。智能手机意味著具有开放的操作系统,它具有像电脑一样的构架,所有功能以软件的方式来实现,只要在手机上安装字处理软件,瞬间就具有对文本编辑功能,或只要安装多媒体播放软就能实现播放MP3、电影的功能。而SymbianOS那么类似于一个内建在手机中的Windows操作系统,它构成了智能手机的处理内核。SymbianOS间介Symbian操作系统是所有SymbianOS共享的应用编程接口6(API)技术的公共核心。这个核心被命名为通用技术generictechnology,简称为GT,它被分成不同的版本。GT包括一个多任务核心、通讯、数据管理和图表中间件,低级图形用户界
6、面框架和应用程序引擎。Symbian操作系统历史Symbian是一个手机巨头联盟的代名词,该公司成立于1987年,是摩托罗拉、西门子、诺基亚等几家大型挪动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。而Symbian操作系统的前身是EPOC1Symbian操作系统现状Symbian操作系统是一种32位占先式多任务操作系统,具有功耗低,内存占用少等特点,非常适宜手机等挪动设备使用。而与微软产品不同的是,Symbian将挪动设备的通用技术,也就是早错系统的内核,与图形用户界面技术分开,这就使得它能很好的适应不同输入方式的平台,这也是我们能见到不同界面的Symbian系统的主要原因。2
7、对SymbianOS作为游戏开发平台的系统分析SymbianOS提供一个用于在单一线程之内非抢先式多任务处理技术的系统。这个包括活动对象和活动调度程序的系统的设计目的是降低运行时间本钱和解决与优先方案线程冲突的同步问题。SymbianOS中的每个应用程序由一个活动调度程序和一个或多个活动对象组成。这个调度程序封装一个需要异步的效劳和按照它们的优先权安排活动对象的等待循环。活动对象封装实际的异步效劳。资源需求与许多其它用于游戏的设备不同,智能需要在游戏中或者任何其他的应用程序运行的时候可以通知用户各种系统事件。应用程序需要考虑到可能的中断,例如因为打进来的或者消息,并且它们需要根据情况进展处理。
8、应用程序还应该不消耗设备资源,例如过度的使用内存或者电量。通知用户的大多数系统消息使用系统自己的对话框,称为全局通知。这个对话框具有比任何应用程序都要高的窗口优先权,因此它们出如今应用程序的前端。在系统事件中,一个异常是打进来的造成通信应用程序变成最前端的应用程序而把被中断的应用程序留作背景。然而,所有的系统端事件具有一个公共特征,可以被一个应用程序捕捉。当一个系统事件发生时,最前端的应用程序失去焦点。这造成应用程序用户接口类CAknAppUI的HandleForegroundEventL方法被调用5。通过覆盖这个方法,应用程序可以执行需要的动作,例如暂停正在进展的游戏。内存限制在内存有限制的
9、设备中,内存管理处于一种非常重要的地位。这关系到运行时间内存使用和最后的编译代码长度。大部分基于SymbianOS的设备只有8MB内存甚至更少。除了内存以外,这种设备只有用于预先安装的软件和用户数据区域的只读存储器,只读存储器用于安装应用程序和系统的可写入数据和持久数据文件。此外,便携式存储卡,例如小型闪存(CF)卡或者多媒体卡(MMC)5。3声音和图像处理声音处理在SymbianOS中,播放和操作声音是由媒体效劳器处理的。媒体效劳器支持各种声音文件格式,比方wa、au和wve,并且提供一个应用编程接口以便应用程序可以开发补充的文件格式插入式模块。媒体效劳器的客户端应用编程接口被分为三个不同的
10、接口:音频例如编辑器,音频音调播放器和音频例如播放器2。音频例如编辑器接口提供了高级音频操作方法,可以用来录音、编辑和播放声音。音频音调播放程序接口启动应用程序来创立和播放合成的声音。音频例如播放程序接口可用于播放样本数据文件。媒体效劳器接口的使用需要在同一线程中运行一个活动的调度程序。对于大多数游戏来说,音频例如播放器接口提供了所有需要的特性来实现要求的音响效果。这个接口由MMdaAudioPlayerCallback和CMdaAudioPlayerUtility类组成。MMdaAudioPlayerCallback是一个mixin类,提供回调方法来通知客户端类样本的初始化或者播放已经完成。
11、这就是为什么这个使用样本播放程序接口的类需要从mixin类中继承而来。CMdaAudioPlayerUtility类提供了加载和播放样本的方法,并且可以设置播放的音量。这个类可以仅仅和单一样本数据关联,这样一个应用程序有多少个不同的样本数据文件,它就需要创立多少CMdaAudioPlayerUtility的实例。下面的代码是使用的CMdaAudioPlayerUtility类的例如。/创立一个帮本播放程序并且从一个文件装入样本CMdaAudioPlayerUtility*samplePlayer=CMdaAudioPlayerUtility:NewFilePlayerL(KSampleFile
12、Name,*this);/播放样本samplePlayer-Play();图像处理SymbianOS可以被理解为一个面向位图的操作系统2。SymbianOS中所有的应用程序都可以使用位图,尤其是游戏程序。虽然使用根本绘图方法例如DrawLine和DrawEllipse可以画出更加小型的图形,但是位图可以更有效地画屏,而且输出的图形更加细腻。SymbianOS有自己的位图文件格式MBM这是一种多位图文件。窗口位图使用一个位图转化工具bmconv来创立MBM由于一个MBMt件可能包含多个位图,所以bmconv还产生一个位图头文件MBG这个头文件提供了一个访问位图的ID。当从MBMK件加载一张位图的
13、时候,应该包括相应的头文件,同时应当使用恰当的标识符作为加载位图的方法的参数。位图可以在工程文件中定义:STARTBITMAPtarget-fileHEADERTARGETPATHtargetpathSOURCEPATHsourcepathSOURCEcolour-depthsource-bitmapEND子图形子图形是一个经过蒙板化Mask的位图,可以在应用程序不重画底层窗口的情况下挪动。假设游戏不需要经常更新背景,那么使用子图形就再好不过了。例如类似于PacMan这样的游戏,在这种游戏中动画在一个不能卷轴并且固定的背景上挪动。重画是靠窗口效劳器来执行的,替代一个较高优先性的任务。这种游戏要
14、考虑的是平滑的动画和子图形的运动。SymbianOS提供两种不同的子图形:指针和动画位图。图1说明子图形类的层次。图1说明子图形类的层次RWsSpriteBase是一个用于子图形的抽象根本类。它拥有一个或多个包含子图形的位图数据的TSpriteMembers。通过指定带有不同的位图的多个成员,子图形就可以活动起来了。TSpriteMember还定义了位图的蒙板,子图形中位图的位置和位图显示的时间间隔。RWsSprite是一个用于子图形的详细的类。除了构造器之外,它只提供一个方法SetPosition,可用于挪动子图形。4通讯体系构造SymbianOS的通讯体系构造基于三个通讯效劳器:ETELC
15、32和ESOCK。效劳器提供的通讯效劳是异步操作,因此它们需要被封装到活动对象里。一个客户应用程序一般产生三个不同的活动对象:一个用于传送数据、一个用于接收数据还有一个用于应用程序端通讯引擎。通讯模块的关系如图2所示。(图2SymbianOS的通讯组件)ETEL是一个通讯效劳器,用于应用程序访问各种硬件和效劳,例如GSM手机、模拟调制解调器和通讯效劳。这个效劳器使用可动态装载的插入式模块-通讯效劳器模块(TSYs),把硬件特定的信息转化为应用程序可理解的格式。这个效劳器的客户端应用编程接口定义在etel.h头文件中,它主要由RTelServer、RPhoneRLine和RCall类组成。串行通
16、讯效劳器串行通讯效劳器(C32)为它的客户端提供一个串行端口应用编程接口。这个效劳器使用通讯效劳器插入式模块(CSYs)处理实际的通讯协议4。SymbianOS提供多个CSY模块,例如处理RS232和红外线串行通讯。应用程序开发者还可以使用串行协议模块应用编程接口来开发自定义CSY模块,自定义CSY模块定义在cs_port.h头文件中。串行通讯效劳器使用方法都是很相似的,不管是否使用了CSY模块。首先在初始化阶段,客户端加载所需要的驱动程序,翻开效劳器并且装载CSY模块。在实际的设备已经翻开并且配置之后,效劳器准备发送并接收数据。最后,需要释放所有的资源。串行通讯效劳器的客户端应用编程接口定义
17、在c32comm.h头文件中,主要由RComm和RCommServ类组成。套接字效劳器2套接字效劳器(ESOCK混供一个使用套接字的通讯协议的接口。对于所有的协议和指定协议行为,客户端应用编程接口都是一样的。套接字效劳器使用TCP/IP、IrDA和蓝牙这些协议模块,它们可在运行期间动态装载。一个协议模块可能包含多个协议。例如IrDA模块可能包含原始的IrMUX、IrTinyTP、IrLAP、IrLMP和IrObex协议。对应于TSY和CSY模块的公共协议模块可以由应用程序开发者开发。蓝牙技术最吸引游戏开发者眼球的套接字效劳器协议是蓝牙技术。它提供了一个相对快速的、近程的解决方案,并且是免费使用
18、的,因此很适宜用于开发游戏。与红外线通讯相比,蓝牙的优势是它有更大的活动半径以及在终端之间不需要任何可见的连接如图3所示蓝牙由一个协议组组成。SymbianOS提供给应用程序完全访问RFCOMML2CA可口SDP协议的权限。RFCOMM、议模拟串行通讯,因此简化了从原有应用程序的转化为使用蓝牙技术的过程。应用程序的通常选择是使用逻辑链路控制和适应协议(L2CAP),提供给应用程序更加强大的函数来控制蓝牙连接。效劳发现协议(SDP)允许应用程序查询效劳和效劳提供商。通常当创立一个新的连接的时候,SDP搜索要求的终端并且建立连接设置。SymbianOS还提供一个完好的用户界面组件来搜索可用的蓝牙终
19、端。它使用SymbianOS的通知框架,在应用程序窗口上产生一个对话类型组件并且把可用的终端作为一个列表。T 11 s r e rBT Host(SW)L n a:SDP RFCOMM protocolL2CAP protocolHCI DriverEnulationOffers Rs232API multiple serial portSegment and reassemble groups protocol muxingPackaging LayerHostControllerTransportLayerRS232HCI FirmwareBT Host Controller (HW)Link Manager Protocol (LMP)HCIIIILink ManagerBasebandBTRBasebandLinkController(L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit4InformationTechnologyLesson3课文详解课件-高中英语北师大版()-
- 2026年长沙民政职业技术学院单招职业倾向性考试模拟测试卷附答案
- 血流的管道课件-人教版生物七年级下册
- 小学语文五年级教案嘱咐教学设计之二
- 部编二下语文语文园地四看图写话公开课教案(2025-2026学年)
- 小学三年级语文龟兔比赛教案
- 教案人教版小学六年级詹天佑导读设问设计(2025-2026学年)
- 小班大床和小床教案(2025-2026学年)
- 机械制造基础本科教案(2025-2026学年)
- 医学肾上腺少见疾病的影像诊疗专题教案
- 消化系统常见疾病课件(完美版)
- 旅游经济学多选试题(含答案)
- 2021自然资源分等定级通则
- 新疆金奇鼎盛矿业有限责任公司新疆奇台县黄羊山饰面石材用花岗岩矿5号区矿山地质环境保护与土地复垦方案
- 项目招标评标方案
- 水利工程项目基本建设程序-水利水电工程建设基本程序
- 贵州省安顺市安顺经济技术开发区2023-2024学年上学期七年级期末英语试题
- 2022-2023学年北京市东城区高二(上)期末生物试卷(含答案解析)
- GB/T 43327.6-2023石油天然气工业海洋结构物特殊要求第6部分:海上作业
- GB/T 42131-2022人工智能知识图谱技术框架
- 传感器技术与应用教案
评论
0/150
提交评论