前提知識
MonoBehaviour の説明には、継承や派生の知識が必要です。よくわからない場合は、下の記事で説明しておりますので、そちらをご覧ください。
MonoBehaviour
MonoBehaviour とは
MonoBehaviour は、すべての Unity スクリプトが派生する基本クラスです。MonoBehavior を継承することで、次のようなものを使えるようになります。
(MonoBehaviour を継承することで使えるようになるもの)
- Start、Awake などのイベント関数
- Update、FixedUpdate などのフレームごとの処理をする関数
- コルーチン
- GetComponent などのコンポーネントに関する処理
- OnCollisionEnter、OnCollisionExit2D などの当たり判定に関する関数
- gameObject や transform、tag などゲームオブジェクトに関する変数
- Destroy や Instantiate などの削除、生成に関する関数
など
Unity 上のオブジェクトを操作したり、実行したときのフレームごとの処理をしたりする場合には MonoBehaviour を継承し、その中に用意してある関数を使っていくことになります。
下で紹介していない MonoBehaviour 上の変数、関数は公式ドキュメントをご覧ください。
イベント関数
フレームごとの処理をする関数
関数 | 説明 |
---|---|
Update | MonoBehaviour が有効の場合に、毎フレーム呼び出されます |
FixedUpdate | 一定時間(Fixed Timestep)ごとに呼び出される |
LateUpdate | Behaviour が有効の場合、Update 関数が呼び出された後に、毎フレーム呼びだされます |
コルーチン
以前、記事にまとめましたので、そちらをご覧ください。
Monobehavior がいらない場合
先ほど Monobehavior はオブジェクトを操作したり、実行したときのフレームごとの処理をしたりする場合に継承します。しかし、それ以外の処理では Monobehavior を継承しなくてもよいです。
(Monobehavior を継承しなくてもよい例)
- 計算をさせるだけなど C# の機能のみで可能なもの
- GameObject を使う必要のないもの
最後に
- MonoBehaviour は、すべての Unity スクリプトが派生する基本クラス
- MonoBehaviour を継承することでゲームオブジェクトやフレーム毎の処理をするための変数、関数を使うことができるようになる
- MonoBehaviour を継承しなくてもよい場合もある