游戏中的周期倒计时

早些年写的:)

周期倒计时是游戏中常见的模块,通常服务于资源的生产、体力的回复等等场景。

一般来说有2中实现方式,一种是基于上一次行动的时间(PrevActTime)。另一种是基于下一次行动时间(NextActTime)。但是他们都包含2个基本的要素:周期(interval)和当前时间(current)。

这两种方式只是从不同的角度来观察问题,但是都要解决2个问题:

  • 距离下一次行动还有多久?,
  • 如果要加速,该怎么处理?

对于第一种方式:
<pre>

            |---------------------------------------------------| 
                                 Interval

    --------|---------------------------------------------------|-----
       PrevActTime                                           Current

</pre>

如图所示,第一个行表示周期,第二行表示上一次行动时间和当前时间。

  • 距离下一次时间的公式为:(Interval)-(Current-PreActTime)
  • 加速的处理方式为:PrevActTime设置为:Current-Interval

对于第二种方式:
<pre>

            |---------------------------------------------------| 
                                 Interval

    ----------------------------|-------------------------------|--
                             current                       nextActTime

</pre>

如图所示,第一个行表示周期,第二行表示当前时间行动时间和下一次的行动时间。

  • 距离下一次时间的公式为:NextActTime - current;
  • 加速的处理方式为:NextTime设置为:Current
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容