- Home /
Spawning gameObject with child
Hello, I'm trying to make spawnpoint where enemies are spawned, but I faced problem. When gameObject is cloned child - is not.
weapon object is created, but it is still on "original" gameObject.
This is how I spawn Objects: Instantiate (priesas, new Vector2(7f, -2.4f), Quaternion.Euler(0f, 0f, 0f));
This is script on weapon:
if (GameObject.Find ("enemy").transform.rotation.y == 0) {
position.x -= 0.8f;
position.y += 0.35f;
this.transform.position = position;
transform.rotation = Quaternion.Euler(0f, 0f, 0f);
}
if (GameObject.Find ("enemy").transform.rotation.y == 1) {
position.x += 0.8f;
position.y += 0.35f;
this.transform.position = position;
transform.rotation = Quaternion.Euler (0f, 180f, 0f);
}
Answer by DoTA_KAMIKADzE · Apr 13, 2015 at 11:25 PM
Because you find the first "enemy", moreover your clones have different name so they will never be found. Instead you should do this in your code:
private Transform thisEnemyTransform;
private void Awake()
{
thisEnemyTransform = transform.parent.GetComponent<Transform>();
}
//and then change all your references from this:
GameObject.Find ("enemy").transform
//to this:
thisEnemyTransform
Also it is always a better idea to get references in the other way then using "find by name". Moreover you should store your references instead of "finding" them each time in Update - that will improve your game performance.
P.S. You can also just use (the example above was for better understanding of the process):
thisEnemyTransform = transform.parent;
Your answer
Follow this Question
Related Questions
AssetBundle dependency issue 0 Answers
Dynamic objects turn grey when baking light 1 Answer
image got pixelated on ios device 0 Answers
Not expecting if on line 17 1 Answer
How to Raycast on Touch? 3 Answers