if (coinMag == true)
{
Timer += 1 * Time.deltaTime;
if (Timer >= 10)
{
coinMag = false;
Timer = 0;
}
}
何になるはずですが、私は公共のフロートTimer=0.0f
としてタイマーをintializedている... CoinMagがtrueの場合、タイマーが開始すべきです。次のようにタイマー、10秒でゼロと端から開始し、10秒タイマーの後に、私が欲しい0
IEnumerator Timer(float duration,Action callBack = null)
{
float elapsedTime = 0.0f;
while (elapsedTime < duration)
{
yield return null;
elapsedTime += Time.deltaTime ;
}
if (callBack != null)
{
callBack();
}
}
:タイマーは10秒後に正確に開始した後にタイマーが0
だから、このコードで何が間違っていますか? –
これを "forever"にしておかなければ、 'InvokeRepeating'や' Coroutine + WaitForSeconds'は 'Update'のようなものより良いかもしれません。 –
これを実行するには、 'coinMag = false'を省略して他の場所("外部スイッチ "のような)に置くだけです。 –