FC2ブログ
    12 «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.31.» 02

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

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

     

    【ハルシオンブログ】null許容型って使ってますか?全然使ってなかったけど、実は使えたりする?? 

    こんにちは。坂内っす。

    ええ ポケガ3少しずつ進んでます。
    何かしらお見せできればいいのですが・・・・もうちょっとお待ちください。

    さてさて、UnityでNull許容型って使ってますか?
    なかなか使う機会がなく、使ってないのですが、実は使える場所いっぱいあったのでないか?と思ってきました。

    Null許容型ってこんなのです。

    int?

    このintに値が入っているのか、nullなのかを判定するにはHasValueを使います。


    using UnityEngine;

    public class Blog20220124 : MonoBehaviour
    {
    void Start()
    {
    int? aaa = null;
    Debug.Log(aaa.HasValue);

    aaa = 5;
    Debug.Log(aaa.HasValue);
    }
    }



    結果はこのようになります。

    False

    True

    値がnullだった場合はFalseが取れますね。

    「値がnullだったら何もしない。値が入っていたら値x10をする」とかって処理ができますね。

    ということで、null許容型の簡単な説明でした。

    あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【ハルシオンブログ】Hierarchyでオブジェクトの階層を一気に開きたいとき 

    こんにちは。
    大坂です。

    Hierarchyでオブジェクトの階層を開いていくときに普通にクリックしると1個1個開かれていきますよね。
    【1個1個クリック】


    これ「Alt+クリック」で一気に開けるんですね。
    【Alt+クリック】


    全部開きたくないときもあるかもしれませんが、何気に便利ですね。
    ではまたノシ

    Category: Androidアプリ紹介

    tb 0 : cm 0   

    【ハルシオンブログ】Unity objectってなんでもはいるんですね!からの()キャストとas演算子について簡単基本的メモ 

    こんにちは。坂内っす。

    さて今年も頑張って生きていきましょう!

    ポケガ3は早ければ6月ころにリリースになるかもしれません。
    頑張って作っていきます!

    さて、Unityの小ネタ。

    objectは何でも入れることができますね。(そりゃ一番親ですから


    using UnityEngine;

    public class Blog20220117 : MonoBehaviour
    {
    public class B {
    public int no;
    public string name;

    public B(int value1, string value2) {
    no = value1;
    name = value2;
    }
    }

    void Start()
    {
    object obj;
    obj = 5;
    Debug.Log(obj);
    obj = "あいう";
    Debug.Log(obj);
    obj = new B(10, "なまえ");
    Debug.Log(((B)obj).no + ":" + ((B)obj).name);
    }
    }



    objから取り出す時にintもstringもキャストはいらないが(プリミティブ)、作ったクラスはキャストが必要ですね。

    ちなみに()のキャストと、as演算子がありますが、プリミティブ型にはas演算子は使えません。


    void Start()
    {
    int a = 100;
    double b = a;
    Debug.Log(b);

    a = b;
    Debug.Log(a);
    }



    a = b;
    でエラーになりますね。

    なんのエラーかというと、
    「桁数が大きいものから、小さい物への変換は桁落ちが起きるので、明示的に桁落ちしてもいいよというキャストが必要」
    といったものぽいです。

    明示的にキャストをしてやれば入ります。


    void Start()
    {
    int a = 100;
    double b = a;
    Debug.Log(b);

    a = (int)b;
    Debug.Log(a);
    }



    プリミティブのas演算子もだめです。

    a = b as int;   X

    本当にメモ的なもので、あんまり困ることではないですが、基本のことなので覚えておきましょ。

    では、あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【ハルシオンブログ】Swichって型で分岐できるんですね。 

    こんにちは。
    大坂です。

    Swichって型で分岐できるんですね。
    知らなかったです。(使うかはわかりませんが)

    public void TestMethod(object obj) {
    switch (obj) {
    case int:
    break;
    case string:
    break;
    case GameObject:
    break;
    }
    }

    エラーがでたらpreview版にアップグレードしてあげたら使えます。




    短いですがこれにてノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【ハルシオンブログ】VisualStudioで定義に先に飛ばずに定義の内容を確認したいとき 

    明けましておめでとうございます。
    今年もハルシオンブログをよろしくお願いします。

    ということで新年一発目のブログです。

    では早速。
    VisualStudioで関数でF12を押したり、Ctrl+クリックすると定義の場所に飛べますよね。
    それでもいいのですが、今見ているコードのその場で定義を確認する方法があります。

    関数でAlt+F12を押すか、右クリックして「定義をここにクイック表示する」を選択。


    こんな感じで見ているコードの下に定義が表示されます。


    ちょっと確認したいときなんかに便利ですね。

    ではではこれにてノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0