FC2ブログ
    03 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 05

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】Unityで時間関連のプログラムを書くときにTimeSpanって使ってました?TimeSpanの簡単な紹介 

    4月にはいってしまいました!
    今年も1/4が終わってしまったってことですね!
    はい、坂内っす。


    ポケットガール~受け継がれし希望~よろしくお願いします。
    URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
    URL(iOS):https://itunes.apple.com/jp/app/id1539553611

    PV:


    UnityでTimeSpanって使ってますか?

    これ構造体なんですが、色々時間関係のことに仕えて便利なんですよね。

    簡単な紹介していきます。

    TimeSpanのコンストラクタに数値を入れるだけで、簡単に●日●時間●分●秒というTimeSpan構造体が作れます。


    using System;
    using UnityEngine;

    public class Blog20240401 : MonoBehaviour
    {
    void Start()
    {
    TimeSpan ts1 = new TimeSpan(5, 10, 55);
    Debug.Log(ts1.Days + "日" + ts1.Hours + "時間:" + ts1.Minutes + "分:" + ts1.Seconds + "秒:" + ts1.Milliseconds + "ミリ秒");
    ts1 = new TimeSpan(2, 5, 10, 55);
    Debug.Log(ts1.Days + "日" + ts1.Hours + "時間:" + ts1.Minutes + "分:" + ts1.Seconds + "秒:" + ts1.Milliseconds + "ミリ秒");
    Debug.Log("----------------------------------------");
    TimeSpan ts2 = TimeSpan.FromSeconds(200);
    Debug.Log(ts2.Days + "日" + ts2.Hours + "時間:" + ts2.Minutes + "分:" + ts2.Seconds + "秒:" + ts2.Milliseconds + "ミリ秒");
    Debug.Log(ts2.TotalSeconds + "秒");
    Debug.Log("----------------------------------------");
    TimeSpan ts3 = TimeSpan.FromHours(3) + TimeSpan.FromSeconds(20);
    Debug.Log(ts3.Days + "日" + ts3.Hours + "時間:" + ts3.Minutes + "分:" + ts3.Seconds + "秒:" + ts3.Milliseconds + "ミリ秒");
    }
    }



    <結果>
    0日5時間:10分:55秒:0ミリ秒
    2日5時間:10分:55秒:0ミリ秒
    ----------------------------------------
    0日0時間:3分:20秒:0ミリ秒
    200秒
    ----------------------------------------
    0日3時間:0分:20秒:0ミリ秒


    こんな感じで簡単に時間が作れます。

    コルーチンや、時間を使用するところでTimeSpanも使えます。


    IEnumerator CoroutineStop() {
    Debug.Log("start");
    yield return new WaitForSeconds((float)TimeSpan.FromSeconds(5).TotalSeconds);
    Debug.Log("end");
    }



    ちょっと秒で設定してしまっているので、あんまり意味ないですが、

    TimeSpan.FromMinutes(2).TotalSeconds

    とやると、2分間待つことができます。

    また、「1日と3時間30秒後」に処理をするといった時でも以下のように書くだけでいいのが楽ですよね。


    TimeSpan.FromDays(1) + TimeSpan.FromHours(3) + TimeSpan.FromSeconds(30)



    今までだとこんな感じで書いてませんでした?
    (そんなことはないか)

    float second = 60 * 60 * 24 + 60 * 60 * 3 + 30;

    こんな簡単に時間が設定できますよね。

    簡単なTimeSpanの使い方の紹介でした。

    では、あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/1057-e49ee223
    この記事にトラックバックする(FC2ブログユーザー)