Symbian多平台游戏引擎开发日记 2006-5-8

     这些天看了几个开源引擎的代码,了解了一下结构设计,就一个感觉——太复杂了。但是基本上就是这么几个部分:基本(包括多线程,数学方法,文件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进制)、实数、字符串等的方法,还提供了整数和字符串的静态方法。
     添加这些对象后为引擎其它部分的开发打下了基础,方便了以后的开发。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值