Unity コルーチンを用いたストップウォッチの作成

 

 

Unityのコルーチンを使ったストップウォッチをコードで作ったよ。

 

 

空のオブジェクトにアタッチして、ゲーム再生をすると起動する💨

 

 

 

【Counter001.cs】

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Counter001 : MonoBehaviour
{
    private GUIStyle fontStyle001;
    private GUIStyleState styleState001;
    private float Seconds = 0.0f;
    public bool CountupFlag = false;
    private string TimerText;

    void Start()
    {
        //タイマーテキストのフォント設定
        fontStyle001 = new GUIStyle();
        fontStyle001.fontSize = 100;
        styleState001 = new GUIStyleState();
        styleState001.textColor = Color.black;
        fontStyle001.normal = styleState001;
    }    

    //Updateでは、timeScaleで一時停止できないため、FixedUpdateとする。
    void FixedUpdate()
    {
        if(CountupFlag == false)
        {
            StartCoroutine(Countup());
        }
    }

    IEnumerator Countup()
    {
        CountupFlag = true;
        Seconds += 0.1f;
        yield return new WaitForSeconds(0.1f);
        CountupFlag = false;
    }

    void OnGUI()
    {
        TimerText = Seconds.ToString("F1");
        GUI.Label (new Rect (50, 50, 150, 50), TimerText,fontStyle001);

        if (GUI.Button(new Rect(250, 75, 100, 50), "停止・再開"))
        {
            //クリック時の応答・処理
            if(Time.timeScale != 0){
                Time.timeScale = 0;
            }else{
                Time.timeScale = 1.0f;
            }           
        }        
    }    
}

 

 

【実行結果】

 

 

 

 

 

 

 

 

 

 

 

 

お名前


削除キー(必須)

コメント(必須)


サイト内検索

twiter

CONTENTS

 

 

 

くるくるサンプルコード

 

 

 

【↓広告↓】