大亨之类的游戏时间和日期Unity5
Tycoon like game time and date Unity5
我正在创建一个类似大亨的游戏,我不确定如何在创建新游戏时立即在游戏上设置日期和时间我现在使用 System.DateTime.Now 获取日期并显示它在 UI 文本上,但从现在开始游戏日期和时间应该如何流逝当然它不应该实时增加我真正想要做的就像 RollerCoasterTycoon World 时间如何流逝
所以这就像现实生活中的 5 分钟会在游戏中持续一整天所以例如,如果我现在开始游戏它是 10/Sep/2016 在现实生活中 5 分钟后它将是 11/ Sep/2016在游戏中等等
我认为您刚刚回答了自己的问题。您可以将每一帧乘以您希望时间流逝的速度。如果你想让你的游戏快 2 倍,你只需将 Time.deltaTime
乘以 2 并将其分配给你的时间变量。
我建议您阅读有关 day/night 周期的内容,因为您可能想要实现时间变化的视觉效果,例如季节。
编辑:
因为游戏有时可以 运行 更快或更慢,所以我会每秒增加你的时间而不是帧。因此,首先在您的 Update 方法中创建类似 timeElapsed += Time.deltaTime
和
的内容
if (timeElapsed > 1)
{
timeElapsed = 0;
gameTime.AddSeconds(1 * gameSpeed);
}
我正在创建一个类似大亨的游戏,我不确定如何在创建新游戏时立即在游戏上设置日期和时间我现在使用 System.DateTime.Now 获取日期并显示它在 UI 文本上,但从现在开始游戏日期和时间应该如何流逝当然它不应该实时增加我真正想要做的就像 RollerCoasterTycoon World 时间如何流逝
所以这就像现实生活中的 5 分钟会在游戏中持续一整天所以例如,如果我现在开始游戏它是 10/Sep/2016 在现实生活中 5 分钟后它将是 11/ Sep/2016在游戏中等等
我认为您刚刚回答了自己的问题。您可以将每一帧乘以您希望时间流逝的速度。如果你想让你的游戏快 2 倍,你只需将 Time.deltaTime
乘以 2 并将其分配给你的时间变量。
我建议您阅读有关 day/night 周期的内容,因为您可能想要实现时间变化的视觉效果,例如季节。
编辑:
因为游戏有时可以 运行 更快或更慢,所以我会每秒增加你的时间而不是帧。因此,首先在您的 Update 方法中创建类似 timeElapsed += Time.deltaTime
和
if (timeElapsed > 1)
{
timeElapsed = 0;
gameTime.AddSeconds(1 * gameSpeed);
}