51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2155|回复: 0
打印 上一主题 下一主题

Torque 中 Schedule 命令的妙用

[复制链接]
  • TA的每日心情
    慵懒
    2015-1-8 08:46
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2008-1-9 11:14:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在 Torque 游戏引擎中,有一个Schedule函数,
    它的作用是调度一个事件,使该事件在time毫秒中後触发。

    其定义为:
    Schedule(time, reference, command, <arg1...argN>)
    其中:
    time : 等待触发的时间,几毫秒内。
    reference : 要添加事件的所在的对象,或者为0,表示一个命令全局的命令。
    command : 要执行的命令。
    arg1...argN : 实现命令的补充参数,可选择。

    其中最简单的用法莫过于设置一个一段事件後将要触发的事件。
    例如:
    $evt = Schedule(10000, 0, "BuildingExplosing");

    这段脚本代码表示我设置了,在执行到这条脚本之后10秒钟後,执行脚本函数 BuildingExplosing
    发生一次建筑物的爆炸。

    如果我想设置windows中一样一个timer在一段时间内,按一定频率反复触发一个命令,该怎么办?
    开始我翻了许多Torque的资料都没有找到相关的代码,后来发现其实可以妙用Schedule命令,
    来实现这一功能。

    脚本程序结构如下:
    下面的代码,保证了当你第一次执行think()命令以后,接下来10秒钟内,
    会反复每隔10ms自动触发一次think()命令,
    $timeCount是一个全局计时,当有1000个10MS后,自动退出,
    就像下面这个类似递归的调用,产生了一个定时器的效果。
    function think()
    {
    $timeCount++;

    //do some think, anything else....
    ................

    if($timeCount>1000) return;
    schedule(10,0, think);
    }
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-23 12:59 , Processed in 0.063288 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表