LoginSignup
1
1

More than 5 years have passed since last update.

Prefabからロードした際にアタッチしたものが外れる

Posted at

Prefab化した敵にアタッチしておいたGameManagerオブジェクトをInstantiateでロードしたところ外れてしまったのでその時の対処方法。

前提

  1. ヒエラルキー上の敵オブジェクトはきちんとApplyしてprefab側に反映した
  2. GameManagerにアタッチしてあるCanvasもPrefabフォルダにないといけないかと思いフォルダ内に置いた

結果はダメ。loadすると外れてしまう。シーン上においてある敵オブジェクトはGameManagerと連携が取れているが、ロードしてインスタンス化したものはダメ。

解決方法

1.敵オブジェクトにGameManagerをアタッチしない
2.Loadしてインスタンス化されたときにStart()でGameManager探す

C#
  private GameObject gamemanagerOBJ;
    void Start()
    {
        //GameManagerを取得
        gamemanagerOBJ = GameObject.FindGameObjectWithTag("GameManager");
    }

    void Damaged()
    {
       //取得したGameManagerの"GetScore"を呼び出す
            gamemanagerOBJ.SendMessage("GetScore",enemystatus.sc);
        }
    }

でもこれだと、敵を出す度に探すということをしないといけないからこれどうなんでしょう?あまりきれいな感じがしませんがとりあえず正常に動きました。

1
1
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1