| | | | | | | [文章信息] | | | 作者: | wayne 李娟 | | 时间: | 2004-03-03 | | 出处: | yesky | | 责任编辑: | 方舟 | |
| [文章导读] | | | 本章将深入研究Series 60和Symbian OS,描述它们作为一个游戏平台的特性 | |
| |
|
| | | |
|
|
|
|
|
天极IT资讯短信服务 电脑小技巧
|
介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。 | |
把基于Series 60的智能电话作为一种游戏设备
本章将深入研究Series 60和Symbian OS,描述它们作为一个游戏平台的特性。此外,智能电话的需求和限制也将被讨论。
需求
与许多其它用于游戏的设备不同,智能电话需要在游戏中或者任何其他的应用程序运行的时候能够通知用户各种系统事件。 应用程序需要考虑到可能的中断,例如因为打进来的电话或者消息,并且它们需要根据情况进行处理。 应用程序还应该不消耗设备资源,例如过度的使用内存或者电量。
通知用户的大多数系统消息使用系统自己的对话框,称为全局通知。 这个对话框具有比任何应用程序都要高的窗口优先权,因此它们出现在应用程序的前端。 在系统事件中,一个异常是打进来的电话造成电话通信应用程序变成最前端的应用程序而把被中断的应用程序留作背景。 然而,所有的系统端事件具有一个公共特征,可以被一个应用程序捕捉。 当一个系统事件发生时,最前端的应用程序失去焦点。 这造成应用程序用户接口类(CAknAppUI)的HandleForegroundEventL方法被调用。 通过覆盖这个方法,应用程序可以执行需要的动作,例如暂停正在进行的游戏。
应用程序需要注意电池使用量。 当一个电话在预定的时间内没有使用的情况下,它会进入睡眠方式以便消耗最少的电量。 如果一个应用程序持续做后台处理,例如在一个循环中查询一个变量,电话可能不会进入休眠状态。 所有的查询应该在程序块循环中执行,并且所有的计时器应该在游戏暂停的时候停止。 一旦一个计时器需要来维护和另一个终端的连接,这个计时器的频率应该降到最小水平。 当在预先设定的时间间隔里一直没有用户活动的时候,应用程序还可以从一个系统端计时器中取得事件。 要做到这些可以使用e32std.h头文件中可以找到的RTimer::Inactivity方法。 在电池供电的设备中,软件需要对突然断电有所准备。 电池可能会没电,或者用户可能把它从设备中拿出来。 如果重要的用户数据被编辑的时候,就更应该注意这些情况了。 每隔一段时间这些数据就应该被保存,并且能够在重新启动之后恢复。 此外,应用程序应该对被损坏的数据有所准备,并且能够安全地从这种情况下恢复。
限制
除了有限的存储量之外,智能电话和PC相比有其他几个限制。 首先,智能电话没有像PC一样高效的处理器。 智能电话基本都没有数学处理器,因此时间单位计算应该使用整数实现。 Symbian OS作为一种游戏平台还有一些约束。 例如,这个平台不支持可写的静态数据,而静态数据经常被用于在游戏中来最优化访问广泛使用的数据。
智能电话还有相对限制的硬件。 显示屏幕有有限的分辨度、尺寸和彩色深度。 小键盘只有有限数目的按键,并且按键的布局可能不便于玩游戏。 在不同硬件解决方案之间,键盘的布局可能会有很大的不同,因此游戏应该提供用户重新定义按键的功能。 智能电话还没有足够的端口来支持各种游戏控制器,像方向盘和游戏杆,这些都是在PC环境中很常见的。 所有这些限制决定了哪些游戏可以被实现并且安装到一部智能电话上,而不会降低它们的可玩性。 然而从长远的观点来看,智能电话中使用的技术将越来越精巧,新的特性和解决方案将被引入。
|
|
|
|
|
|
|
|