首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> Symbian >> 游戏开发 >> 正文
Symbian多平台游戏引擎开发日记 2006-5-8
作者:tomco    文章来源:http://blog.csdn.net    更新时间:2006-5-23 9:22:50
这些天看了几个开源引擎的代码,了解了一下结构设计,就一个感觉——太复杂了。但是基本上就是这么几个部分:基本(包括多线程,数学方法,文件I/O),2D显示,UI,声音,网络等。这是个大工程,得一步步慢慢来。
 为了适应几种平台,要将系统事件独立出来,我建立了一个TG_Main的对象。各种平台的代码首先创建这个对象的实例,并接收各种事件(程序切换前后台,按键,电话事件,短信),通过CIdle产生的系统TICK事件形成游戏循环。在开发游戏应用时,直接继承这个对象,并重写OnInit、OnLosingForeground、OnGainingForeground、OnNotify、OnNextFrame、OnDestroy等事件处理方法,专注于游戏逻辑。
     为了能及时了解游戏执行的效率,我加了TG_FpsCounter,由于系统TICK时间精度比较低,而且在模拟器和真机上不同,所以每两秒计算一次可以提高精度。通过HAL::Get( HALData::ESystemTickPeriod, iTicksPerSecond )得到每秒的TICK数,就可以算出每次TICK需要的微秒数,经过多次刷新屏幕后用User::TickCount()可以算出使用的TICK数,接下来就可以算出相对精确的每秒帧数。
     还写了个简单的LOG调试记录器,提供了整数(2进制,8进制,10进制,16进制)、实数、字符串等的方法,还提供了整数和字符串的静态方法。
     添加这些对象后为引擎其它部分的开发打下了基础,方便了以后的开发。

相关文章:
明晰C++内存分配的五种方法的区别
Symbian OS 应用程序在手机上无法运行的种种原因
symbian中的timer
显示图片
如何创建sis文件——概叙
Symbian开发探索
命令行下编译Symbian程序环境配置总结
S60 3.0上的程序安装后启动运行和程序开机自动运行
 

站点地图 | 加入收藏 | 联系站长 | 广告服务 |
QQ:280529124  Tel:0592-8271361 辽ICP备05021703号