Unity++blog.

UnityやC#とかについて学習したことを書いてます

エラー解決:You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all

エラー:You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all

 

このエラーはMonoBehaviourを継承したClassのインスタンスを作成する時にNewを使用してインスタンスを作成すると出ます。

 

Unityでは下記のようにインスタンスを作成しなければいけないようです。

TestClass testClass = GameObject.Find("object名を書く").GetComponent<TestClass>()

 

これはダメです↓

TestClass testClass = new TestClass();

 

staticだらけのスクリプトを卒業して、本や写経で勉強をしていざ使ってみるとこれは嵌っちゃいますよね・・笑

 

こんなスクリプトを作成してたら嵌ってしまいました。ゴールポイントについたら、次のスタート地点へ移動するためにインスタンスを作成してスタート地点のVector3を取得する作戦です。