Symbian C++ 游戏开发要领
2010-02-26 15:56:00 来源:WEB开发网1. 介绍
1.1 S60平台的游戏编程
随着S60设备硬件的提高,在其上运行高质量的有些成为了可能。当然也同时存在一些挑战的地方就是游戏需要适应许多不同屏幕的能力。另外还有一些其他的限制如下:
- 被来电或是短信中断
- 限制电池的使用,要处理突然断电的情况
- 内存大小受限
- 显示屏幕和键盘大小的限制
- 相对于PC而言有限的CPU处理能力
1.2 Purpose and scope
N/A
2. S60 Platform-Specific Considerations
2.1 被系统事件中断
当一个游戏在运行的时候,如果系统事件发生了,用户应该被通知到。所以开发人员需要考虑到游戏被中断的情况。
所有的系统端事件都有这样的一个通用性质,那就是可以被一个应用程序所捕获。当一个系统事件发生时,最前面的应用程序会失去焦点。这会导致该应用程序user interface类(CAknAppUi)的HandleForegroundEventL函数被调用。如果不考虑处理这个函数,应用程序可以处理相关的动作,如暂停程序。
2.2 电池耗尽和供电失败
应用程序需要注意电池的消耗。如果一个时间段没有任何操作的话,应该进入休眠模式从而节约用电。如果一个游戏暂停了,那么所有的timer和loops应该停止。如果在一个特定的时间段内,没有任何操作的话,系统的定时器会触发一个时间,应用程序可以通过RTimer::Inactivity方法来获得。
为了处理突然掉电的情况,一个游戏应该每隔一个时间保存一下数据,以便在重启的时候恢复,至少应该保存两份数据,因为很可能在你保存数据的时候会掉电。
2.3 Screen Resolution
S60手机有不同的屏幕分辨率。S60的UI库,Avkon能支持不同的屏幕分辨率,然而通常情况下,游戏里面的控件都是自己描画的,所以需要我们自己根据不同的屏幕分辨率来调整,而不能hard-code。
2.4 Memory
在S60第三版之前的许多S60设备上最多只有8MB的内存。虽然S60第三版的设备的RAM要多些,但是相对于PC设备来说还是很少的,所以内存管理是非常重要的。
除了RAM外,设备还有ROM来存储那些预安装的软件,一个用户数据区域来存储已经安装的应用程序和系统中可写的和连续的数据。
应用程序需要注意内存的节约,这不仅包括在运行时内存的使用,还包括编译后代码的大小,总之,在处理RAM使用中最重要的一条原则就是,我们应该尽早的释放这些已分配的内存,每一步都要提醒自己这样做了吗。在模拟器上,Symbian
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››开发者眼中的Windows Phone和Android
- ››Symbian S60 SocketConnection参数
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Symbian乏力:2010年诺基亚悲情大事记
- ››Symbian三大升级开启2011年新战略
- ››Symbian/Android/iOS/WM安装包对比
- ››Symbian一个活动对象的测试例子
- ››Symbian ListBox控件
- ››Symbian下自动切换SDK的批处理代码
更多精彩
赞助商链接