私のプロジェクトでは、さまざまなオブジェクトを数え、小さなアニメーションをシミュレートしようとしています。たとえば、ゲームに星があり、0のトラフから試合の最後の星の数を数えたいとします。星の数ユーザーが得たので、私はこのでした:私のコードは秒間ループ待ちに0.3Fのためによく働いたが、それは私は0.2Fのためにそれをしたい、あまりにも遅いですが、何かCoroutineでオブジェクトを数える
public void youWin()
{
audio.Stop();
StartCoroutine (activatePanel());
}
IEnumerator activatePanel()
{
yield return new WaitForSeconds (3f);
pausePanel2.SetActive (true);
for (int i = 0; i <= stars; i++) {
yield return new WaitForSeconds (0.2f);
starText2.text = i + "";
}
}
を奇妙なことが時々起こる、それはバグのようになり、最初の数字は戻っているようだ、それは正しくカウントされません、誰かが何が起こっているのか知っていますか?
に入りました"それは正しくカウントされません"、あなたはテキストが間違っていること、またはタイミングがずれていると感じていることを意味しますか? – Serlite
うん、わかりませんが、私はあなたにそのようなことが起こる例を教えてください。{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 、18,19,20,11,21}この計算の終わりに、11に非常に速くなり、21になると、毎回実行します。 –
おそらく、完了する前にyouWin()を何度も呼び出しているのでしょうか? – Infodayne