- Home /
Instatiating a prefab in a random position
So I've been writing a simple iPhone app where a ball will bounce around the screen and the user tries to tap it. The app is fully functional, however, the ball isn't instantiated at a random position like it should. My code is below. I've tried several other versions but none seem to do the trick and I have no idea why. This doesn't seem like it should be difficult. I looked around and I feel like I'm following how other people have done this so I have no idea why this doesn't work. Any thoughts would be helpful.
public GameObject Target;
// Use this for initialization
void Start () {
Instantiate (Target, GeneratePosition(),Quaternion.identity);
//Instantiate (Target, new Vector3 (Random.Range (0, 4.6f), Random.Range (0, 9.0f), 5.0f), Quaternion.identity);
}
public Vector3 GeneratePosition()
{
float x;
float y;
float z;
x = Random.Range (0, 4.6f);
y = Random.Range (0, 9.0f);
z = 5.0f;
return new Vector3(x,y,z);
}
The "Target" is initialized but always in the same place. You can see at least two ways I tried to implement this. This first uses a separate method to create the random position using GeneratePosition(). The second method, which was my original idea, is commented out but it generates the random positions inline with the Instantiate function. Also the range for Random.Range is roughly the screen size for an iPhone 5 in tall mode.
Thanks for any thoughts.