2022-09-23から1日間の記事一覧
Unityのシーン上のプレハブインスタンスに対して修正を行うことをオーバーライドという。オーバーライドでできる編集には、以下のものがある。 ・**プロパティの値の変更**:変更すると値の表示が太字に変わる ・**コンポーネントの追加**:新しいコンポーネ…
通常return文は、戻り値がある関数で使うが、 voidの関数内でも使うことができる。 処理を早めに返したい時などに使えるし、コードが読みやすくなることもある。
CanvasのRender Modeプロパティの3モードについて ### ###Screen Space - OverlayモードUIの表示位置やサイズを2Dのスクリーン座標系で指定するモード。 最後にレンダリングされ、必ず最前面にUIが表示されるので3Dオブジェクトに隠れることはない。 ボタン…
プログラミングの一般原則として有名なKISS、DRY、YAGNIの3つの原則について紹介する。 ##KISS原則(シンプルであれ) 「Keep It Simple, Stupid」もしくは、「Keep It Short and Simple」の略語で、 とても有名な原則。プログラミングは常に複雑さとの戦い…
Shift + F12 個人的には、間違いなくこれを叩いてる回数が一番多い Visual Studioで変数名や関数名を選んで上記ショートカットを叩くと 参照元・参照先が全部わかりすぐにそこにとべる。(飛んだ後に戻るにはctrl + -) (Windowsでのショートカット macはわか…
2つの配列があり、それぞれの要素は同じインデックスによって何らかの結びつきがある状況において LINQのZipメソッドを使うと、2つの配列から別の配列を簡単に作り出すことができる。 ```var jWeeks = new List<string>{ "月", "火", "水", "木", "金", "土", "日"</string>…
連続して呼びだすと異なる値が返るプロパティは原則として定義しない方が良い。 ```// ダメな例public int Value{ get{ _index++; return _numbers[_index]; }}``` プロパティではなく次のようなメソッドにすれば、 連続して呼び出した時に違う値が返ること…
outキーワードを使っているメソッドは良いメソッドとは言えない場合がほとんど。 特に引数が一つでそれにoutキーワードがついているメソッドは、明らかに設計ミスである。 呼び出しもとに結果を返すなら戻り値として返すべき。 **<span style="color: #000000">唯一outキーワードが許され</span>…
クラスの継承はis a関係が成り立つときだけ使う。 共通のプロパティがあるからといって共通部分を抜き出して 基底クラスとして定義しようという考えは間違っている。 共通化のための継承は百害あって一利なし。 継承はそれほど多用するものではない。
プレハブを普通のゲームオブジェクトに戻す(展開する)には 右クリックメニューから prefab→unpack を選択すると展開される。 ネスト化されたものまで全て展開するにはunpack completely ただし、オーバーライドしているものは展開されない
Unityの作業で、プレハブモードでプレハブを編集して プレハブモードから抜けるとundoができなくなるので オブジェクトを削除した後などは注意するよう心がける。
getキーワードのないsetキーワードだけのプロパティは定義してはいけない。 オブジェクトにおける属性を表すものがプロパティなので 属性の値を知ることのできないプロパティはプロパティとしての意味がない。 もしそういうものがあるならそれはプロパティで…
変数の宣言をクラスやメソッドの先頭にまとめて書く人がいるが、それはいい書き方とは言えない。プログラムの理解を妨げることになるし、バグを混入させる危険を高めることになる。先頭で宣言する変数は全体で利用される変数であるという認識をもつ。
||サポート期間|説明||:-:|:-:|:-||LTSストリーム|2年間|バグフィックスが2年間実施される。TECHストリームの最終バージョンがLTSストリームへと引き継がれる||TECHストリーム|次のLTSリリースまで|年2回のメジャーバージョンアップが計画されている||プレリ…
## マジックナンバーには名前をつけるクラス内で使うマジックナンバーは*const*で名前をつける。また*const*は*public*にしない。他のクラスに見せる場合は*public static readonly* を使う(*const*のバージョン管理問題)
# GUIDUnityは内部的には「GUID」という値を用いて、Assetの一貫性を保っている。同じファイルを複数回読み込んでしまってもGUIDが一緒なら正しく上書きされる。このGUIDは「meta」をついてるテキストファイルに書き込まれており、このファイルもGitなどで管…
2次元配列をforeachで回すと次元ごとではなく単純に要素[0,1],[0,2],[0,3]の順番で取り出されので使いにくいことに注意。
型の変換にはキャスト演算子(int)aなどが使われるがキャストでstring型を数値にはできない。この場合はint.Parse(文字列)やdouble.Parse(文字列)を使う。変換が保障されていない場合にはTryParseを使う。
C#では、フィールドは必ずprivateにした方が良い。 フィールドとプロパティではその背景にある思想が全く異なる。 フィールドは内部のデータでプロパティは外部とのインターフェイスである。 また以下の二つのコードには実質的な違いもいくつかある。 public…