【C#】秒数またはフレーム数で時間を判定する

f:id:nuakam:20180924115241j:plain:w500

30秒のミニゲームなんかで
ゲームスタートを押してから30秒をカウントダウンする時に使うやつです。


秒数またはフレーム数で時間を判定する

秒数を取得する

public class hogehoge : MonoBehaviour
 {
        private float seconds = 30f;
        bool IsStart = false;
        public void StartBtnCallBack()
       {
        IsStart =true;
        }
        public void Update()
        {
                 seconds += Time.deltaTime;
                if(IsStart ) 
               {
                  seconds = 0;
               } else if(!IsStart &&seconds >=30)
               {
                  seconds = 0;
                  IsStart =false;
               }
        }
}

Time.deltaTime; は前フレームから現在のフレームの経過時間を取得するため、Update関数で毎フレーム呼べば経過時間を取れる。
StartBtnCallBack()を適当なボタンに付ければボタンを押してから30秒を取れる。

フレーム数を取る場合は

float secondsを int flamesに変更。
seconds += Time.deltaTime;を sconds ++へ変更。


その他各secondsをflamesに変更すればOK