FC2ブログ
    11 «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.» 01

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

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

     

    【ハルシオンブログ】Unity2020.2の正式版がリリースされましたね。 

    こんにちは。
    大坂です。

    Unity2020.2の正式版がリリースされました。
    UnityHubからインストールできます。


    嬉しいのはC#8のサポートですね~。
    あとはUnityの色が黒くなることでしょうか(笑)

    C#8で使いそうなのはとりあえず、
    null合体割り当てとswitchあたりですかね~…。

    null合体割り当ては対象がnullなら指定したものを割り当てる機能ですね~こんな感じ。

    string _test;
    public string test => _test ?? "nullなら割り当て";

    private void Start() {
    Debug.Log(test);
    }



    何か入れてあげるとちゃんと入れた値になります。

    private void Start() {
    _test = "nullじゃないよ";
    Debug.Log(test);
    }



    switchの書き方は慣れないとわかりにくいですが、色々使えそうですよね。
    簡単に書くとこんな感じに書けるようになりました。

    private void Start() {
    Debug.Log(Test_1(2));
    }

    private string Test_1(int i) {
    return i switch
    {
    1 => "test_1",
    2 => "test_2",
    3 => "test_3",
    4 => "test_4",
    _ => "",
    };
    }


    今週もこれにてノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【ハルシオンブログ】Unityでコードを書いているときに#regionって使ってますか?コードのブロックで折り畳みとかできますよね。 

    おはようございます。
    今日もものっそい寒いですね。
    やけに最近寒く感じます。

    あと1週間半で今年も終わりですね。
    みなさんやり残したことはありませんか?
    コロナのせいで色々やりたくても、やれないこともたくさんあると思いますが。

    Unityで#region~#endregionって使ってますか?
    コードの中でブロック部分をわかりやすくするために使うプリプロセッサです。

    「ここのコードの塊はなんの処理」等コードをわかりやすくするのに使用するとよいです。
    (ぶっちゃけ使ったことないですが・・・・)

    基本的にはメソッドで処理をまとめていると思いますが、このリージョンを使うと、複数のメソッドをもまとめることができます。

    例えばこんな感じ。

    キャラを作成、表示してからゲームが開始するようなコードを書いた場合。



    こんな感じで、ゲームスタート部分をregionで囲むと、折りたたむことができます。



    あんまり使ってないけど、少しでもコードを見やすくするのに使うといいかもしれませんね!

    ということで、本日は#regionの紹介でした。

    では、すばらしいコードライフを!
    あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【ハルシオンブログ】Listですべての条件が一致してるかどうか確認する 

    こんにちは。
    大坂です。

    いやー、ほんとに寒いですね…。まぁ冬だからこんなものなんでしょうけど…。

    さて、リストの中のデータがある条件をすべて満たしているか確認したいときの方法です。
    Linqを使ったら一発ですね。


    List test = new List { 0, 10, 4, 5, 6, 7 };
    Debug.Log("10未満:" + test.All(x => x < 10));
    Debug.Log("10以下:" + test.All(x => x <= 10));


    結果


    それでは今週もこれにてノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【ハルシオンブログ】Inspectorでアサインするとき、[SerializeField]つかってますか?public使ってますか? 

    こんにちは!
    あと2週間もしたら年末じゃああーりませんか!

    初詣行きたかった・・・・毎年恒例の朝までオール初詣飲み!
    くうう さすがに今年は自重ですね。
    非常に残念ですorz

    さて、Unityで色々作ってるときに、Inspectorでオブジェクトをアサインする時、publicを使うか、[SerializeField]を使うか。
    皆様どちらを使っていますか?

    publicだと外部からアクセスできちゃうので、[Seri~]のほう使ってますか?
    色々な話を聞いて、どちらを使うのがベストなのか分からなくなってきました。

    基本的にはpublicではなく、アサイン目的なら[Seria~]の方がいいはずなんですが、publicの方が軽いとかなんとか・・・・

    ・・・まぁ[SerializeField]の方を使うのがいいと思います。


    それと似てるけど、別の話。

    コード的に外部クラスから触れる変数等はpublicにすると思いますが、「外部から触れるけど、Inspectorには出したくない」って時ありますよね。

    後で見た時にInspectorにはアサインする項目があるんだけど、Noneのままだ・・・・ここって何かアサイン忘れ???
    って見えちゃうんですよね。

    そんな時は、Inspectorに出さない属性 [HideInInspector] をつけると、外部からコードで触れるけど、Inspectorには出ない。

    というのができます。

    こんな感じ。




    ということで、以前からずっとSerializeField使ってたけど、ちょっとした疑問はあったのであえて書いてみました。
    ご意見ご感想ありましたらコメントにどうぞ!

    では、あでゅ~ノシ


    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【ハルシオンブログ】指定年月の月末のDateTimeが欲しいとき。 

    こんにちは。
    大坂です。

    気づけば今年もあと3週間ですか…
    家に閉じこもってたら終わってしまいましたね…。

    さて、指定年月の月末の日付が欲しいのお話。
    方法としてはその月の日数を求めるAPI「DateTime.DaysInMonth」を使う感じですかね。

    コード。

    Debug.Log(new DateTime(2020, 2, DateTime.DaysInMonth(2020, 2)).ToString("yyyy/MM/dd"));
    Debug.Log(new DateTime(2021, 2, DateTime.DaysInMonth(2021, 2)).ToString("yyyy/MM/dd"));
    Debug.Log(new DateTime(2020, 12, DateTime.DaysInMonth(2020, 12)).ToString("yyyy/MM/dd"));

    結果。

    閏年もちゃんと取れますね。便利です。

    では今週もこれにてノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【ハルシオンブログ】Unityのフォルダ構成ってどうしてます?うちはこうやってますっていう話。こうするといいよーっていうのがあったら教えてくださいね! 

    早くも12月も1週間が経ちました。

    あと3週間くらいで今年も終わってしまいます!

    年末の準備はできてますでしょうか?
    私は何も準備してません。

    さて、Unityのお話。

    フォルダって皆さんどうしてますか?

    よくやる構成はこんな感じでやってます。

    Assets
     - Assets
       - 移動してもいいアセット系をまとめている
     - 各種アセット(移動するとだめなやーつ)
     - Editor
     - Plugins
     - Fonts(フォントファイル)
     - ゲームプロジェクト名等(この下にシーン毎にスクリプトなどを置いている)
       - 01_Title
         - Audios
         - Prefabs
         - Resources
         - Scenes
         - Scripts
         - Textures
      - 02_Home
         - Audios
         - Prefabs
         - Resources
         - Scenes
         - Scripts
         - Textures
        ・
        ・
        ・
      - 99_Common
         - Audios
         - Prefabs
         - Resources
         - Scenes
         - Scripts
         - Textures

    よくこんな感じで作ってます。

    なんかアセットってフォルダ動かすと動かなくなるやつあるじゃないですか・・・・
    あれ困るんですよねえ
    Assetsの下がぐちゃぐちゃになっちゃう…

    とりあえず纏めれるアセットはAssets>Assetsの下にまとめてます。
    (あ、まとまってないのもありますが‥‥)

    こんな感じに


    どういうフォルダ構成にすればいいのかという正解があるんでしょうか?
    分からないのでうちではこんな風にしてますよっていう紹介でした。

    こうすればベストよ!等ありましたら、教えてくださいませ。


    では、あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【ハルシオンブログ】using追加、削除のお話 

    こんにちは。
    大坂です。

    寒くて感想の季節ですね…みなさん体調崩さないように気を付けてください。

    usingで使ってないのがあると、気になるので削除するんですが、これもショートカットがありますね。
    デフォルトだと
    「Ctrl+r」,「Ctrl+g」で削除と並べ替えをしてくれます。
    押してるかわからないですけど、やってみるとこんな感じになります。

    使ってないのが消えて、並べ替えもしてくれていますね。

    ついでにusingの追加のお話。
    自動でやってくれるといいんですけど、カーソル合わせて「考えられる修正~」みたいなのをクリックしてとやるか、
    カーソル合わせて「Alt+Enter」or「Ctrl+.(ピリオド)」押して選んでエンターするかみたいな感じで追加できますね。
    自分は「Alt+Enter」してEnterする感じで使ってますね。


    今日もこれで終わりです。
    ではまたノシ

    Category: Androidアプリ紹介

    tb 0 : cm 0