游戏程序:定时器的设计和实现

开始想学习DX编程时,一个朋友介绍了这个网站。平时,在里面也学习了不少内容,自己经常听同事说起定时器。而自己第一次使用时,所设计的一个定时器,是问题多多。经过一些总结和思考,设计了一个新的定时器,拿出来和大家共享。也免了总是拿来,而不付出。:}

    定时器,是一个应该来说游戏最基本常用的功能。它的易用与否,直接影响了开发的效率;功能的完备与否,直接导致实现的难易;性能的好坏,直接影响到了游戏的运行表现。那么,如何实现一个简单易用、功能完善、性能较好的定时器呢?

    首先,先看功能的完善。

    定时器,那么,第一点,我们希望他能有最基本的定时功能:指定一段时间以后,发生某个事件。

    然后,如果所有事件都是一定时间以后发生,而,我们经常可能由于某个操作,会取消前面事件或无效前面的事件。比如:定时炸弹,一段时间以后会爆炸,在爆炸以前,是可以拆毁的。那么,就需要能取消或无效某个定时。

    好,这就是一个最基本的定时器,能够设定时间,能够取消设定。就有如下接口:

    setTime(int time,… 可能还不明确,改为:int timeEvent(int time,Event &e)

    cancelTime(int timeID) 统一名字: void cancelEvent(int e)

    但是,往往,我们很多游戏希望能暂停,然后,从暂停点继续。

    void pauseTime()

    void resumeTime()

    怎么暂停,就有个游戏时间、系统时间(时间的获取,一般都是以系统时间为基础)了。

    unsigned playTime()

    unsigned sysTime()

    功能上就有了:定时、取消、暂停、继续、查询。作为一般的游戏开发已经相对比较充分了。

    再看,简单易用。


余下请看:http://game.chinaitlab.com/program/772176.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值