【发布时间】:2021-03-17 15:05:39
【问题描述】:
我知道,标题并不是真正的描述性,但我想不出另一种方式来解释它。基本上,我有一个控制某事日期的脚本,我想每隔几秒将天数增加 1,具体取决于速度。基本上有 5 种速度,当然是 1-5,在速度 1 上,我希望它每 2.5 秒增加一天,速度 2 每 1.5 秒,速度 3 每 0.5,速度 4 每 0.09,速度 5 每0.04.
我前段时间写了一些代码,但我删除了它,我不记得它是怎么回事,我所拥有的就是我记得的。
我当前的代码是:
public class Date : MonoBehaviour
{
public TextMeshProUGUI dateText;
static DateTime date = new DateTime(1, 1, 1);
public static int speed = 1;
public static int year;
public static int month;
public static int day;
public static bool isPaused = false;
private void Update()
{
if (isPaused == false)
{
if (speed == 1)
{
//first number is seconds per day
//second is frames per second (default 60 because vsync)
//third is hours in a day
date = date.AddHours(2.5 * 60 / 24);
}
else if (speed == 2)
{
date = date.AddHours(1.5 * 60 / 24);
}
else if (speed == 3)
{
date = date.AddHours(0.5 * 60 / 24);
}
else if (speed == 4)
{
date = date.AddHours(0.09 * 60 / 24);
}
else if (speed == 5)
{
date = date.AddHours(0.04 * 60 / 24);
}
}
year = date.Year;
month = date.Month;
day = date.Day;
dateText.text = year.ToString() + "." + month.ToString() + "." + day.ToString();
}
}
但它不是随着上升而变得更快,而是变得更慢,在速度 5 上大约需要 3 秒,而速度 1 变得更快。谁能帮我?尝试移动数字,除以 Time.deltaTime,但没有任何效果。
【问题讨论】: