Unity を使い始めたら知らない単語に出くわします!
それが MonoBehavior !
MonoBehavior てまじなんなんだ??ってずっと思ってました。そこで今回は、MonoBehavior について調べてみました。
#Unity公式マニュアルの説明
- MonoBehaviour is the base class from which every Unity script derives. (MonoBehaviourは、すべての Unity のスクリプトが由来する基礎的なクラスです。)
- When you use C#, you must explicitly derive from MonoBehaviour.(C#を利用する場合、MonoBehaviourから明確に派生させなければならない。)
なんかようわからんけど、Unity使うときには絶対使う基礎的なクラスなんだって!
だから勝手に削除したりしたら動かなくなるよ。
#Behavior
そもそもなんですが、普通の [Behavior] (https://docs.unity3d.com/ja/2018.2/ScriptReference/Behaviour.html) もあるんです。
Unity が用意してくれている Behavior 。
ってことは、MonoBehavior っていうのは、Mono の Behavior だよね。
次に Mono について調べてみた。
#Monoとは?
Mono は、Microsoft の提供する .NET Framework のオープンソフトウェアです。
なるほど、C#の生みの親の Microsoft が用意してくれているソフトウェアなんですね。
Monoの公式ホームページから引用してみましょう。
Mono is a software platform designed to allow developers to easily create cross platform applications part of the .NET Foundation.(Monoは、開発者が.NET Foundationの一部であるクロスプラットフォームアプリケーションを簡単に作成できるように設計されたソフトウェアプラットフォームです。)
#MonoBehaviour を継承すると、何がいいの?
Unityでスクリプトを作成したら、以下のようなスクリプトがすでに記述された状態ででてきます。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ABC : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
もっと切り分けてみてみよう。ほいっ!
public class ABC : MonoBehaviour {
}
「ABC という class は、MonoBehaviour クラスを継承します。」という意味です。
もっと切り分けてみましょう。ほいっ!
: MonoBehaviour
ポイントはここです!「:〇〇」で「〇〇を継承します!」
継承って何だという感じですが、
そのクラスの持っている機能をまるごと使わせてもらうってことだよ。
#おわり
いかがでしたでしょうか。
みなさんの MonoBeaviour に対する理解が深まったらいいねしてくださるとうれしいです。