これを行うために自分のシーンを設定する方法とちょっと混乱します。クラスSystem
の配列を作成したいと思います。その中には、スプライトレンダラとゲームオブジェクトへの参照をVector3の位置に含むものがあります。私はまた、私の配列作成のその位置にゲームオブジェクトをインスタンス化します。クラスの配列を設定し、それをゲームオブジェクトにリンクする方法
私のセットアップ私のゲームの世界では、空のゲームオブジェクトでこのように私の配列:
public System[] systemArray;
void Start() {
systemArray = new System[totalSystems];
for (int i = 0; i < totalSystems; i++)
{
systemArray[i].worldPos = new Vector3(Random.Range(min,max),Random.Range(min,max), Random.Range(minZ,maxZ));
Instantiate(systemObject,systemArray[i].worldPos,Quaternion.identity);
}
}
が今私のシステムスクリプトはそれだけでデータを格納するスクリプトであるゲームオブジェクトに添付ないです私が作ったインスタンス化されたゲームオブジェクトのコードは次のようになります。
public class System : MonoBehaviour {
public SpriteRenderer spriteRenderer;
public GameObject gameObject;
public Vector3 worldPos;
}
私はこのすべてをどのようにリンクしていますか?
ここでの目標は、シーンからゲームオブジェクトを破壊できるようにすることですが、システムからVector3、GO、およびスプライトレンダラーにアクセスできるようになり、再びインスタンス化できるようになります。
私は本当に混乱しているので、これを効率的に設定する方法についていくつかの助けが必要だと思っています。
ビットが混乱している場合は、必要なものと問題のどこに問題を置き換える必要があるかもしれません。 –
要約すると、私はゲームのオブジェクトの束を作成し、それらの位置を設定し、スプライトレンダラへの参照を持っているので、私は再びゲームを再インスタンス化したいかもしれないので、将来のある点。 – WDUK
ちょっと正式な注記:クラスに「System」という名前を付けないでください。これはトップレベルの.net名前空間です。 'GameSystem'のようなものは、それほど簡単ではありません。 @ GunnarB。 –