0
遊戲應該凍結每獲得200分,並且會出現一個測驗。回答後,遊戲應該繼續。 在我的代碼中,它只發生一次。在將freezescore增加到400以便下一個測驗出現之後,遊戲不會凍結。更新中的功能只被調用一次
public static int freezescore = 200;
void Update()
{
if (score == freezescore)
{
freeze();
Quiz();
Debug.Log("" + freezescore);
}
}
public bool freeze()
{
Time.timeScale = 0.1f;
return true;
}
public void Quiz()
{
if (freeze() == true)
{
if (canvasquiz != null)
{
canvasquiz.SetActive(true);
}
}
}
//Attached this method to the button
public void Resume()
{
if (canvasquiz != null)
{
canvasquiz.SetActive(false);
Time.timeScale = 1.0f;
}
score = score + 1;
freezescore = freezescore + 200;
}
爲什麼你需要'freeze()'返回'bool',如果它總是返回true。你可以使它成爲'void'.Also,你能展示如何調用Update()方法嗎? –
這是一個MonoBehavior嗎?更新被調用每一幀?一般來說,這整個設置有一個難聞的氣味 - 我期望你試圖創建的行爲是事件驅動而不是每幀。無論如何 - 你是否設置了斷點?當腳本失敗時,freezescore的實際價值是什麼?條件評估的是什麼? – Drakestar
您也調用了freeze()兩次:一次在Quiz()之前,然後在Quiz()中再次。這沒有意義。也許你想設置一個字段布爾值爲true,然後檢查對嗎? – Drakestar