3

我想用 libgdx 为 Android 开发一个实时游戏。我需要更新一些变量,即使游戏没有运行。

例如,我希望将钱每小时增加 10 个学分(现实生活中的时间),这样您就可以退出游戏并在一个小时后回来并获得这笔钱。

我怎样才能做到这一点?

谢谢

4

2 回答 2

5

实时,无需设置您自己的服务器。只需使用其中一个公共时间服务器。从ntp 站点下载 NtpMessage.java 和 SntpClient.java 。然后使用 ntp 端口运行 SntpClient.java。例如

java SntpClient 0.pool.ntp.org

您可以使用 SntpClient 类的代码并根据需要进行调整。

当用户退出游戏(暂停状态)时,从 ntp 获取时间并保存。用户启动您的游戏后,再次获取时间并进行比较。

于 2013-07-28T15:47:33.837 回答
3

这两种可能的解决方案怎么样(简单与困难)

困难的...要完全控制,您需要在服务器中实现逻辑并让您的应用程序连接到它以获得积分(昂贵但出色的解决方案)。您的应用不会保存永久数据。您的应用将仅用于显示、交互、从服务器发送/接收数据。

最简单的...只需使用您的应用程序和电话时间。此解决方案的成本要低得多,但您的应用程序将容易受到电话时间操纵的影响。

于 2013-07-28T11:02:58.497 回答