0
我創建了一個計時器事件,當我的計時器達到設定的目標時就會觸發。但是,當我第一次觸發我的計時器時,它會達到一定的長度,然後停下來。但是,如果我再次觸發定時器,它會按預期工作,我不知道發生了什麼。統一計時器在第一次被叫時停止
有人可以看看我的計時器代碼,看看這個問題可能在哪裏?我搜索了一天,但不能指出它。
下面是我在我的主類中使用計時器進行操作的實例。爲了清楚起見,省略了一些內容。
public float start_time;
public float look_at_time;
public float end_time;
private bool track_timer = false;
//this is called from a different class but acts as my start method
public void Setup()
{
start_time = 0;
running_time = 0;
ResetTimer();
}
void Update()
{
bool updateTimer = (track_timer && lastHitObject != null);
Check(updateTimer);
MyMethod();
}
void ResetTimer()
{
start_time = 0.0f;
running_time = 0f;
track_timer = false;
}
void MyMethod()
{
if(argument 1)
{
if(argument 2)
{
track_timer = false;
}
}
else
track_timer = false;
}
void Check(bool updateTimer)
{
if(updateTimer)
{
start_time += Time.deltaTime;
running_time += Time.deltaTime;
if (running_time >= end_time)
{
track_timer = false;
}
}
else
end_time = Time.time;
}
我可以提出一個建議嗎?您已經在幾個問題上發佈了這個相同的腳本,每個問題都有不同的問題,並且從我們的回覆中一起分解了它。也許是時候退一步,重新設計/重構你的代碼,然後再問一個更有針對性的問題。 – Jerdak