Graphics.frameCount作为游戏时间的基础值并不准确。
特别是内外部有些幽默加速插件影响下,游戏时间会跑的飞起。
于是写了一段基于时间戳的游戏时间判断。
核心变量
T1: 游戏开始时间戳(新建游戏时记录)
T2: 游戏保存时间戳(每次保存时记录)
T0: 累计时间(记录游戏不活跃的时间段)
工作原理
游戏初始化:
新建游戏时记录当前系统时间戳为T1
初始化T0为0
游戏保存:
保存当前系统时间戳为T2
将游戏数据写入存档
游戏加载:
计算从上次保存到当前的时间差(当前时间-T2)
将这段时间差加到T0中(视为游戏未运行的时间)
游戏时间计算:
实际游戏时间 = 当前系统时间 - T1(开始时间) - T0(累计时间)
结果转换为秒数
本帖来自P1论坛作者糜腥珊瑚态耄耋,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=497760 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。 |