现在的位置: 首页 > 综合 > 正文

匀速的世界

2013年12月05日 ⁄ 综合 ⁄ 共 451字 ⁄ 字号 评论关闭

       今天在论坛上有同学在问游戏中物体移动不匀速的问题,使我想起了我几年前写第一个小游戏的碰到的

苦恼。 大概情况是这样的:当我开着坦克时,有时候慢,有时候快;当时找不到好办法,在主循环里按最慢情况作

了限侦--while(curent_time - last_time < const_frametime){;};浪费了大量的cup时间,虽然小游戏,但看起来很耗

资源。以为当时我把移动的距离每贞递加 s  = s + x;当贞速快时,加的次数也多,看起来移动的也快。而特效,渲染的

面片数量,AI计算等,都可能改变贞速。只要把公式改成 s = s + v*t  t为当前贞和前贞的间隔时间,这样即使是30

贞的机器和60贞机器上跑起来感觉还是一样的。 其实像SkinMesh播放动画也一样,更新Animation 的函数有

fElapsedTime的参数。事情上我们也能从很多游戏代码中发现,主update函数也会有 fTime参数。

      把游戏中变化物体和时间结合在一起,而不是贞数,那么,我们会有一个看起来很不错的匀速协调的世间。

 

抱歉!评论已关闭.