11
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Unityで経過時間を表示させる

Last updated at Posted at 2014-10-15

作りたいもの

ゲームによくある、画面左上などに経過時間表示させるやつ
今回はボタンを押すと経過時間を表示し、もう一度押すとリセットするものを作る

準備

  • NGUIのインポート(2.7.0 フリー版)
  • 適当なフォント(ttfファイル)

手順

スクリプト

ElapsedTime.cs
public class ElapsedTime: MonoBehaviour {

    UILabel label;
    System.DateTime startTime;
    System.DateTime elapsed;
    bool onClick = false;


	void Start () 
    {
	    this.label = GetComponent<UILabel>();
        this.elapsed = System.DateTime.Now;
        Initialize();
	}
	
	void Update () 
    {
        if (this.onClick)
        {
            System.DateTime now = System.DateTime.Now;
            if (now != this.elapsed)
            {
                System.TimeSpan deltaTime = now - this.startTime;
                this.label.text = deltaTime.Hours.ToString("D2") + " : " + deltaTime.Minutes.ToString("D2") + " : " + deltaTime.Seconds.ToString("D2");
                this.elapsed = System.DateTime.Now;
            }
        }
	}

    // NGUIのButtonをクリックすると呼ばれるメソッド
    void ButtonOnClick()
    {
        if(this.onClick) 
        {
            this.onClick = false;
            Initialize();
        }
        else
        {
            this.startTime = System.DateTime.Now;
            this.onClick = true;
        }
    }

    void Initialize()
    {
        const string DEFAULT = "00 : 00 : 00";
        this.label.text = DEFAULT;
    }
}

NUGI部分

  1. NGUIメニューの Open the UI Wizard からUIを作成
  2. NGUIメニューの Open the Font Maker でUIFontを作成(TypeをDynamicにしてttfファイルを選択)
  3. NGUIメニューの Open the Wedget WizardからLabelとButtonをUIのPanel下に作成(Atlasはサンプルのものを使用)
  4. Labelの名前をTimeLabelに変更 上記のElapsedTime.csと作ったUIFontをアタッチする
  5. ButtonにAddComponent > NGUI > Interaction > Button Messageをアタッチする
  6. InspenterからButton MessageのTargetにTimeLabelをアタッチし、FunctionNameをButtonOnClickと入力、TriggerをOnClickにする
  7. TimeLavel、Buttonの位置や大きさを適当に調節
11
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?