i-school - プレイヤークラスを共通化するために継承用クラスを作成する
プレイヤークラスを共通化するために継承用クラスを作成する (未)
PlayerControllerクラスとEnemyControlerクラスには、共通化できる変数やメソッドがあります。
そこで共通化できる部分だけを扱うクラスと、それ以外の固有の処理を扱うクラスとを分けて考えていきましょう。
クラスの継承
UnityにおいてC#スクリプトを新規作成した場合、新しく作られたクラスでは必ず、MonoBehaviour(モノビヘイビアー)というクラスを継承しています。
public class EnemyController : MonoBehaviour
この表記は、クラス名 : 継承しているクラス という順番で記載されています。継承できるクラスは1つだけです。
MonoBehaviour(モノビヘイビアー)クラス
MonoBehaviourはUnityが最初から用意してくれているクラスの1つです。
C#スクリプトを新規作成した際に最初からスクリプトに記載されているStartやUpdateといった関数は
このMonoBehaviourというクラスが用意してくれている関数になります。
(他にもたくさんありますが、ここでは割愛します。)
MonoBehaviourを継承しているクラスは、ゲームオブジェクトにアタッチしないとクラスとして機能(インスタンス化)しません。
作成したスクリプトは必ずゲームオブジェクトにアタッチしてください、と言っているのはそのためです。
親クラス(基幹クラス)
継承元になるクラスは親クラス(基幹クラス)、スーパークラスと呼ばれ、共通化したい処理を扱うクラスになります。
親クラスは通常、MonoBehaviourを継承しています。