名古屋でアプリ・VR開発を行っています
ワクワクできるゲームをガンガン開発リリース中!

MonoBehaviourって何?

こんにちは。かなたです。

 

ゲーム開発といえばUnityですが、避けて通れないのがスクリプトですね。(というかゲーム開発全般ですが)↓こんな感じですね。

 

かくいう私もスクリプトを書くのに戸惑った記憶があります。

スクリプトを作った瞬間にできるのが、下記画像の内容です。

ここからわかることは作成された時点で「MonoBehaviour」というクラスを継承していること。Start()メソッドは最初に一回だけ呼ばれるメソッド。Update()メソッドは毎回呼ばれるメソッドという感じですね。(using~とかも気になりますが一旦おいておきます)

 

この「MonoBehaviour」というクラスがいろんな機能を持っています。これは当たり前ですがUnityから提供されているものなんですが、いちいちこれがなにかという説明はしてくれません。ここで大事なのは第一次情報を確認しようということです。ということでUnityのリファレンスを見てみます。

docs.unity3d.com

 

はい。たくさん書いてありますね。

一番上に概要が書かれています。最初だけ引用します。

MonoBehaviour is the base class from which every Unity script derives.

When you use C#, you must explicitly derive from MonoBehaviour.

MonoBehaviourはUnityスクリプトの基底クラスで、使うときは明示的に派生してください。みたいなことが書かれています。

 

難しい。

 

ただ、メソッドを使う分ならわかりやすいのではないでしょうか。

当たり判定を処理するOnCollionEnterメソッドなどはこのクラスが持ってたりします。いちから処理をフルスクラッチせずともUnityでは元々持ってるんですからすごいですよね。そりゃみんな使うよね。

 

実はこのMonoBehaviourはBehaviourクラスから継承されていてBehaviourクラスはComponentクラスから派生しているんですよね。だからGameObjectに対してアタッチしないと処理されないんだー、とかいろいろわかったりします。

 

 

まとめ

①MonoBehaviourは他のクラスと同じで、いろんなクラスを継承してクラスでいろんな機能を持っているということ。特に当たり判定とかですかね。実はマウスの処理とかUpdate()メソッドもMonoBehaviourがメソッドを持っています。

 

②第一次資料は大事。意外と...でもないですが大事なことが書かれていたりするし、こいった資料を見ると楽しかったりします。

 

 

今日はこのあたりで!

 

では!