2018-10-01から1ヶ月間の記事一覧

GameObjectのスクリプトは、GameObjectが非アクティブでも呼べる

public class Main : MonoBehaviour { void Start() { _target.Say(); } [SerializeField] private Target _target; } public class Target : MonoBehaviour { public void Say() { Debug.Log("I'm Target!"); } } その他 GameObjectが最初から非アクティブ…

UnityのGetComponentはAwake()で行うこと

いいたい事 public class Bar : MonoBehaviour { void Start() { // ダメ _view = GetComponent<BarView>(); } private BarView _view; } public class Bar : MonoBehaviour { void Awake() { // 良い _view = GetComponent<BarView>(); } private BarView _view; } なんでStar</barview></barview>…

UnityのAwake()とStart()の違い

Awake Start

C#では継承すると、親のコンストラクタは必ず呼ばれる

C#

(2022/2/25更新) 覚えること 親のコンストラクタは必ず呼ばれる 0. 何も書かない場合 デフォルトコンストラクタが呼ばれる public class Base { } public class Sub : Base { public Sub() { Debug.Log("Sub()"); } } public class Main : MonoBehaviour { v…

C#ではオーバーロードしたコンストラクタだけが呼ばれる

C#

覚えること オーバーロードしたコンストラクタだけが呼ばれる サンプルコード1 オーバーロードしたコンストラクタだけが呼ばれる。引数なしコンストラクタは自動で呼ばれない。(継承の場合と違うので注意) public class Test { public Test() { Debug.Log(1)…

UnityのStart()の継承、オーバーライドのメモ

2021/5/1追記 目次 1, overrideをつけなくても、Start()は自動的にオーバーライドされる 2, 子クラスでStart()が定義されてなければ、親のStart()が呼ばれる 3, base.Start()で親のStart()を呼べる。ただしprotectedかpublicをつけなければならない Case1 1,…