cocos2d-x 3.8 游戏中的在线时长的计算是怎么做到的。。。。。

可以详细说下吗?多谢了

个人理解 我也没写过

实现方式

  1. 获取服务器时间
    客户端:关键字cocos2dx httpclient 和 cocos2dx 数据存储
    服务器端:例如webserver+php 关键字 php获取时间
    上面所说数据格式应该为字符串
    如需数据编码解析 例如参考 Json串生成(服务器端)与解析(客户端)

  2. 获取本地时间
    关键字 cocos2dx 获取时间(引擎应该有封装)和 cocos2dx 数据存储

实现方法

  1. 启动app时记录一个时间点
  2. 如需实时更新时长,在记录时长的场景开启一个定时器更新时间
  3. 进入记录时长场景时再获取一次时间,对比启动记录时间求出时长

你这样问应该是怕玩家修改时间造成计算不准确吧?抛开服务器来说,如果单是直接获取当前时间的确会有这个问题,不过可以根据不同系统去获取系统启动到现在的运行时间,安卓你可以查一下systemclock这个类,拿uptimeMillis来做时间间隔计算就没问题了