(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発しているゲームです!


拡張メソッド

RectTransformが重なっているか(衝突しているか)をコライダーを使わないで判定する拡張メソッド【Unity】【uGUI】【拡張メソッド】

拡張メソッドとは この記事でのバージョン Unity 2022.2.8f1 はじめに 今回はタイトル通り、RectTransformが重なっているかをコライダーを使わないで判定する方法の紹介です! RectTransformが重なっているかをコライダーを使わないで判定する方法

enumのビットフラグでフラグを追加、削除する拡張メソッド【C#】【拡張メソッド】

拡張メソッドとは はじめに C#ではenumを使ってビット(2進数)フラグを簡単に実装出来ます。 今回はそのビットフラグでフラグを追加&削除する拡張メソッドの紹介です! SampleFlag flag = SampleFlag.Flag1; Debug.Log($"{flag}"); //フラグ2追加 EnumExtensi…

任意の値に最も近い値を取得するLINQの拡張メソッド【Unity】【C#】【LINQ】【拡張メソッド】

拡張メソッドとは LINQとは はじめに LINQには同じ値を取得するというメソッドはありますが、 //検索対象のList var list = new List<int>() { -11, 0, 5, 8, 24, 100 }; //Listの中から0を取得(なければデフォルト値) var targetValue = list.FirstOrDefault(val</int>…

LINQの拡張メソッドの作り方と最大値(最小値)を持つ要素の取得【C#】【LINQ】【拡張メソッド】

拡張メソッドとは LINQとは はじめに LINQのMaxやMinを使うこと最大値や最小値を取得する事が可能ですが、 //てきとうなリスト var list = new List<int>() {1, 2, 5, 125, -52, 58, -4, 8, 100}; //最大値と最小値を取得しログ表示 Debug.Log($"Max : {list.Max(</int>…

SpriteAtlasを使い易くする拡張【Unity】【SpriteAtlas】【エディタ拡張】【拡張メソッド】

SpriteAtlasとは エディタ拡張とは 拡張メソッドとは この記事でのバージョン Unity 2017.1.0f3 はじめに 前回はSpriteAtlasの使い方等について紹介すると同時に、GetSpriteで取得する際に文字列で指定する事や、全Spriteの取得が面倒という問題点をあげまし…

enumのToStringが遅いって本当ですか?【C#】【Unity】【拡張メソッド】【最適化】

拡張メソッドとは この記事でのバージョン Unity 5.6.1f1 はじめに enumのToStringは遅いという話を耳にしたので、気になって調べてみた系の記事です!ちなみに、以前にenumをkeyにしたDictionaryが遅いという話も記事にしてました。 そもそものenumのToStri…

Transformを簡単にResetする【Unity】【拡張メソッド】

拡張メソッドとは この記事でのバージョン Unity 5.4.0f3 はじめに TransformはInspectorの歯車から、Resetを実行することで positionを(0,0,0) rotationを(0,0,0) scaleを(1,1,1) にリセットする事ができます。 これ自体はとても便利なのですが、transform.…

ビットフラグを使いやすくするアレコレ【Unity】【C#】【エディタ拡張】【拡張メソッド】【属性】

エディタ拡張とは 拡張メソッドとは この記事でのバージョン Unity 5.4.0f3 はじめに タイトルの通り、今回はUnity&C#で開発を行う際にビットフラグを使いやすくするアレコレのご紹介です! ビットフラグ

親や子を簡単に作れる拡張メソッド【Unity】【拡張メソッド】

拡張メソッドとは この記事でのバージョン Unity 5.4.0f3 はじめに 今回は親や子を簡単に作れる拡張メソッドのご紹介!イメージは以下のような感じ。 SetParent

Listをシャッフルしたり、ランダムに取得したり、先頭から取り出したり【C#】【拡張メソッド】

拡張メソッドとは はじめに 今回はListを便利にする拡張メソッドのご紹介!拡張メソッドってなんぞやという方は以下の記事をどうぞ。 拡張メソッドとは既存のクラスにメソッドを追加するというものです。 ListExtension

文字列の中に、任意の文字列がいくつあるか【C#】【拡張メソッド】

拡張メソッドとは 可変長引数とは はじめに タイトル通り、今回は文字列の中に、任意の文字列がいくつあるかを調べる方法の記事です。イメージとしては以下のような感じ。 string str = "ああいううえええええおお"; Debug.Log (CountOf (str, "あ")); //"あ…

Time.timescaleを変更せずにRigidbodyの一時停止&再開処理【Unity】【拡張メソッド】

拡張メソッドとは この記事でのバージョン Unity 5.3.0f4 Personal はじめに ゲーム中にオブジェクトを一時停止したい、みたいな場合はよくあると思います。 その時、一番楽なのはTime.timeScaleを0にして時間を止める事ですが、これをするとtimeScaleが影響…

サイズを合わせてUISpriteの画像を変更【Unity】【NGUI】【拡張メソッド】

拡張メソッドとは この記事でのバージョン Unity 5.1.0f3 Personal NGUI 3.9.2 はじめに NGUIのUISpriteは同じアトラスの画像であれば、画像名を指定するだけで変更できます。 uiSprite.spriteName = "Button"; ただし、スプライトのサイズは元のままなので…

keyが存在しない場合はデフォルト値を返すDictionaryの拡張メソッド【C#】【拡張メソッド】

拡張メソッドとは はじめに 以下のように、Dictionaryで存在しないkeyでvalueを取得しようとすると Dictionary<string, int> dict = new Dictionary<string, int>(); int tmp = dict["key"]; KeyNotFoundException: The given key was not present in the dictionary.と例外が発生して</string,></string,>…

引数を渡して遅延処理【Unity】【拡張メソッド】

拡張メソッドとは デリゲートとは この記事でのバージョン Unity 5.1.0f3 Personal Invoke Unityで一定時間後に処理を行うといった遅延処理を行う場合、Invokeというメソッドがあります。 //1秒後にDelayMethodというメソッドを実行 Invoke("DelayMethod", 1…

拡張メソッドとは、全ての子オブジェクトにレイヤーとマテリアル設定を行ってみる【C#】【Unity】【拡張メソッド】

この記事でのバージョン Unity 5.1.0f3 Personal はじめに 以下のようなコードでスクリプトからLayerを変更する事が出来ます。 gameObject.layer = layerNo; しかし、このやり方だと子オブジェクトのレイヤーは変更されません。 例えば以下のような構造にな…