网站大量收购独家精品文档,联系QQ:2885784924

基于Nokia S60的游戏开发之二.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Nokia S60的游戏开发之二.doc

  基于Nokia S60的游戏开发之二   把基于Series 60的智能作为一种游戏设备   本章将深入研究Series 60和Symbian OS,描述它们作为一个游戏平台的特性。此外,智能的需求和限制也将被讨论。   需求   与许多其它用于游戏的设备不同,智能需要在游戏中或者任何其他的应用程序运行的时候能够通知用户各种系统事件。 应用程序需要考虑到可能的中断,例如因为打进来的或者消息,并且它们需要根据情况进行处理。 应用程序还应该不消耗设备资源,例如过度的使用内存或者电量。   通知用户的大多数系统消息使用系统自己的对话框,称为全局通知。 这个对话框具有比任何应用程序都要高的窗口优先权,因此它们出现在应用程序的前端。 在系统事件中,一个异常是打进来的造成通信应用程序变成最前端的应用程序而把被中断的应用程序留作背景。 然而,所有的系统端事件具有一个公共特征,可以被一个应用程序捕捉。 当一个系统事件发生时,最前端的应用程序失去焦点。 这造成应用程序用户接口类(CAknAppUI)的HandleForegroundEventL方法被调用。 通过覆盖这个方法,应用程序可以执行需要的动作,例如暂停正在进行的游戏。   应用程序需要注意电池使用量。 当一个在预定的时间内没有使用的情况下,它会进入睡眠方式以便消耗最少的电量。 如果一个应用程序持续做后台处理,例如在一个循环中查询一个变量,可能不会进入休眠状态。 所有的查询应该在程序块循环中执行,并且所有的计时器应该在游戏暂停的时候停止。 一旦一个计时器需要来维护和另一个终端的连接,这个计时器的频率应该降到最小水平。 当在预先设定的时间间隔里一直没有用户活动的时候,应用程序还可以从一个系统端计时器中取得事件。 要做到这些可以使用e32std.h头文件中可以找到的RTimer::Inactivity方法。 在电池供电的设备中,软件需要对突然断电有所准备。 电池可能会没电,或者用户可能把它从设备中拿出来。 如果重要的用户数据被编辑的时候,就更应该注意这些情况了。 每隔一段时间这些数据就应该被保存,并且能够在重新启动之后恢复。 此外,应用程序应该对被损坏的数据有所准备,并且能够安全地从这种情况下恢复。   限制   除了有限的存储量之外,智能和PC相比有其他几个限制。 首先,智能没有像PC一样高效的处理器。 智能基本都没有数学处理器,因此时间单位计算应该使用整数实现。 Symbian OS作为一种游戏平台还有一些约束。 例如,这个平台不支持可写的静态数据,而静态数据经常被用于在游戏中来最优化访问广泛使用的数据。   智能还有相对限制的硬件。 显示屏幕有有限的分辨度、尺寸和彩色深度。 小键盘只有有限数目的按键,并且按键的布局可能不便于玩游戏。 在不同硬件解决方案之间,键盘的布局可能会有很大的不同,因此游戏应该提供用户重新定义按键的功能。 智能还没有足够的端口来支持各种游戏控制器,像方向盘和游戏杆,这些都是在PC环境中很常见的。 所有这些限制决定了哪些游戏可以被实现并且安装到一部智能上,而不会降低它们的可玩性。 然而从长远的观点来看,智能中使用的技术将越来越精巧,新的特性和解决方案将被引入。   内存   在内存有限制的设备中,内存管理处于一种非常重要的地位。 这关系到运行时间内存使用和最后的编译代码长度。 大部分基于Symbian OS和Series 60的设备只有8 MB内存甚至更少。 除了内存以外,这种设备只有用于预先安装的软件和用户数据区域的只读存储器,只读存储器用于安装应用程序和系统的可写入数据和持久数据文件。 此外,便携式存储卡,例如小型闪存( CF)卡或者多媒体卡( MMC),可能依靠硬件支持。   内存使用最重要的规则是所有分配的存储器都应该在在尽可能的早期释放。 Symbian OS仿真程序提供一个宏用于内存检验,默认情况下所有应用程序都有图形用户界面。 如果这个宏不能释放内存,这个宏将使应用程序变混乱,这样就会出现内存泄漏。 在一个目标硬件中,OS的核心记录每个线程的内存并且在线程退出的时候自动的释放它。 这保证所有的内存都在应用程序退出的时候被释放。 运行时间一长,应用程序和服务器可能出现一个问题。 它们在结束使用它们的时候,如果它们不释放已经不需要的资源,那么就会有很多资源被系统保留起来而不能被应用程序所使用。   当实现一个应用程序时,堆栈存储器的使用值得注意。 在Symbian OS中,每个线程都有自己的存储堆栈,不能在线程已经启动以后增大。 Series 60中的应用程序的默认堆栈尺寸只有20kB,所以它应该谨慎使用。 仿真程序环境和可用的堆栈空间中的目标硬件之间还有分歧。 仿真程序中的

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档