シーン上のオブジェクトhoge のスクリプトに以下のように記述してクラスを作ります。
public class hoge : MonoBehaviour { --- }
このクラスhoge を全く別のプレハブXから取得する方法を知りたいです。
試したこと
まず、Xのスクリプトで以下のように記述します
public hoge hogehoge;
すると、インスペクタに入力欄ができるのですが、ドラッグアンドドロップで持ってこようとしても、Xのプレハブを開いていると、シーンのヒエラルキーが表示されないのでできません。
では、Xのスクリプトで以下のようにして取得しようとしました。
void Start() { hogehoge = GameObject.Find("hoge"); }
しかし、エラーが出ます。
※コンパイル前にエラーが出ます。
エラー名 「型 UnityEngine.Gameobject を hogeに暗黙的に変換できません」
どうすれば取得できるでしょうか?
実現したいこと
敵の出現数や倒した数を管理しているクラスがあります(それが上記hogeです)。
そのクラスhogeは何かのオブジェクトにひっついていて、そのオブジェクトはシーン上に最初からあってもいいし、インスタンシェートでシーンに出現させてもどちらでもよいです。
次に、そのクラスhogeが持つ変数の値を、出現する様々な敵(上記Xのプレハブでインスタンシェートで出現させる)に書き換えさせたいのです。
例えばその敵が死んだら、hogeが持つ「敵の数」変数の値を1減らすといった感じです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/26 02:45