質問: new HogeCmp(); } // ---------------------------------------- // とあるcomponentクラス Class HogeCmp() { public void hogeUpdate(){} } // ----------------------------------------
回答: ex2の方、`private hCmp = new HogeCmp();`を`private hCmp;`にすればいいです。 (`hCmp = Object.GetComponent();`をするまでhCmpはnullの状態です) HogeCmpがMonoBehaviourを継承している場合、newしようとすると警告を出されます。 「newではなくGetComponent/AddComponentで取得/付与する」、 「MonoBehaviourを継承せずにnewを使う」のどちらかの方法を使ってください。 (詳しくは「unity MonoBehaviour new」で調べてください) なお、質問文ではコードの前後の行に「```」を入れると見やすくなります(入力欄上のボタンを使うとわかりやすいです)。