FC2ブログ
    08 «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.» 10

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

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

     

    【ハルシオンブログ】Unity2020.1でDevice Simulatorが見つからなかった 

    こんにちは。
    大坂です。

    Unity2020.1でDevice Simulatorが見つからなかったのでなんでだろうと思っていたら、
    ProjectSettingsの設定を変えないとPreview版が見つからないようになっていたのですね…。


    ここの設定を変更すると見つかります。
    [Edit]-[ProjectSettings]-[PackageManager]-[EnablePreviewPackage]

    これにチェックを入れてあげます。



    ちゃんと見つかりるようになりましたね!
    Unity2020.1でDeviceSimulatorが使いたいのに見つからなくて困ったのでメモがてら!

    ではまたノシ

    Category: Androidアプリ紹介

    tb 0 : cm 0   

    【ハルシオンブログ】Visual Studio でオートフォーマットの無効化 

    こんにちは。
    大坂です。

    タイトル通りですが、Visual Studio でオートフォーマットの無効化したいときのお話。
    設定は、「ツール」-「オプション」でオプションを開いてC#の場合は以下でできます。


    オートフォーマットをタイミング別で有効、無効が変えられます。
    プロジェクトでフォーマットを決めてやっていれば無効にする必要もないんですけどね。
    自分の場合は、フォーマットが決まっていないときに別のテキストに一旦コードを貼り付けて、
    戻したときにフォーマットが変わってGitにあげるときに差分が出てしまうのが嫌で貼り付け時のは無効化したりしています。

    それぞれのタイミングの説明はここにあるので確認してみてください。
    https://docs.microsoft.com/ja-jp/visualstudio/ide/reference/options-text-editor-csharp-formatting?view=vs-2019

    ではでは、今週もこの辺でノシ

    Category: Androidアプリ紹介

    tb 0 : cm 0   

    【ハルシオンブログ】int配列をfloatの配列に変換したかったとき 

    こんにちは。
    大坂です。

    タイトル通り配列の型変換について、普通にCast使ってできるかと思ったらできなかったので・・・。
    これだとできない。
    float[] testFloatArray = testIntArray.Cast<float>().ToArray<float>();
    これもできない。
    float[] testFloatArray = (float[])testIntArray.Cast<float>();
    こんな感じでやるとできます。
    int[] testIntArray = { 1, 2, 3 };
    float[] testFloatArray = new float[testIntArray.Length];
    testIntArray.CopyTo(testFloatArray, 0);

    とまぁこんな感じで同じ長さの配列作ってCopyToを使えばいいって話でした。

    すごく短いですが今日はこれでノシ

    Category: Androidアプリ紹介

    tb 0 : cm 1   

    【ハルシオンシステム】複数のオプション引数で後ろの引数だけに値を渡したいとき 

    こんにちは。
    大坂です。

    こちらの記事でもオプション引数についてちょっと触れていますが、
    【ハルシオンブログ】今週もちょこちょことC#の話・・・
    複数のオプション引数を指定して、後ろの方の引数にだけ値を渡したいときがあると思いますがその方法。

    まずは普通に複数のオプション引数を呼び出したとき。
        void Start() {
    Test();
    }

    public void Test(int a = 1, int b = 2, int c = 3) {
    Debug.Log("a:" + a);
    Debug.Log("b:" + b);
    Debug.Log("c:" + c);
    }
    呼び出し側では何も指定しないで呼び出せますね。(前の記事の内容と同じですが)


    次にbだけ違う値にしたいときはこんな感じで書けます。
        void Start() {
    Test(b: 10);
    }

    public void Test(int a = 1, int b = 2, int c = 3) {
    Debug.Log("a:" + a);
    Debug.Log("b:" + b);
    Debug.Log("c:" + c);
    }
    引数を渡すときに「b: 10」としてあげるだけです。


    ちゃんとbの値が変わりますね。
    複数のオプション引数でも特定の場所に値を渡せるので便利ですね!

    では今週もこれにてノシ

    Category: Androidアプリ紹介

    tb 0 : cm 0   

    【ハルシオンブログ】なんか今週もDictionaryのネタですよ。 

    こんにちは。大坂です。

    先週もDictionaryのことを書きましたが今週も引き続き。
    どうにも最近見る機会が多いのでス。

    今日は、存在しないKeyにアクセスしたときのお話。

    こんなのね。
        void Start() {
    Dictionary test = new Dictionary();
    Debug.Log(test[0]);
    }

    実行するとKeyNotFoundExceptionが発生します。

    しかしこれも、こんなAPIがあります。
    TryGetValue。
    使い方はこんな感じです。
        void Start() {
    Dictionary test = new Dictionary();
    string str = "test";
    test.TryGetValue(0, out str);
    Debug.Log(str);
    }

    これでエラーは出ないのですが、
    注意点としては上のコードだと変数「str」に初期値「test」を入れていますが、TryGetValueでは型の既定値が返されます。
    stringの場合は「""(空文字列)」、intの場合は「0」が返されます。
    TryGetValueの戻り値でboolを返してくれるのでそのへんで判断してもいいのかもしれません。

    まぁ・・・Keyがないのにアクセスすることがそんなにあるかはわかりませんが・・・。

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

    Category: Androidアプリ紹介

    tb 0 : cm 0