Unity计时器--简版

今天写了一个简单的Unity计时器,简单记录一下。开放的方法详见TimerMananger脚本,使用方法详见Test脚本。已发布到Github,地址:movinwu/UnityTimer: A timer Unity project (github.com)

计时器主要具体的计时器类、计时器管理类组成。计时器类Timer是具体计时器的抽象,记录了计时器是否循环计时、一轮计时时间等数据,并提供了相应的操作方法,此外还提供了一轮计时的开始、计时中和计时完成后执行的委托函数,可以根据需要注册。计时器管理类是一个继承MonoBehaviour的自动单例类,使用键为字符串值为具体计时器对象的字典管理所有的计时器,并暴露了相应的添加计时器、移除计时器、暂停计时器、开启计时器、计时器归零等方法供外部调用,添加计时器时需要指定计时器的名称、一轮计时的毫秒数、在一轮计时开始、计时中、结束时执行的三个委托。

值得注意的是,当前计时器由于本质上使用的是Unity的Time.deltaTime进行计时,所以在一轮计时的毫秒值过低时计时的稳定性不高,计时过程中也有一定地误差。当前计时器提供了简略的计时功能,计时器在大型工程中的稳定性还有待验证。

对于当前这个计时器,如果您有合适的优化方案,希望您能及时告知。

posted @ 2021-06-14 22:00  movin2333  阅读(485)  评论(0编辑  收藏  举报