- Home /
Random Teleportation using arrays! (Re-Spawn)
So I just started using arrays and Random.Range and I'm still learning!
So what I've done is that I've made a variable called: var Deaths : Transform[];
I think this should be right!
Now, what I want to do is put out some empty game objects in my scene and using a Random.Range(0, Deaths.Length)
to teleport to one of those empty game objects! How can I go around making that?
The only thing I know how to use this is when using sounds! var Sound : AudioClip[]; AudioSource.PlayClipAtPoint(Sound[ Random.Range(0, Sound.Length)], transform.position, 0.5f);
Answer by robertbu · Mar 03, 2013 at 09:48 AM
Attach your script to the game object you want to teleport.
Select the object in the hierarchy and find Deaths in the inspector.
Click on the triangle to open Deaths and set the size to the number of empty game objects you have.
Drag the empty game object to positions in the array.
Here is a bit of example code (untested):
var Deaths : Transform[];
function Update() {
if (Input.GetKeyDown(KeyCode.Space)) {
i = Random.Range(0, Deaths.Length);
transform.position = Deaths[i].position;
transform.rotation = Deaths[i].rotation;
}
}
Note I set the rotation as well (don't know if you needed it or not). Also another way to approach the initialization would be to use GameObject.FindGameObjectsWithTag. I'd use an array of game objects instead of a transforms for this.
Thank you! This helped me a lot! :) I also wanted to use an array do to the fact that it needs less coding! :P
Your answer
Follow this Question
Related Questions
InvokeRepeating with a variable? 2 Answers
Random.Range affects the Random.seed 1 Answer
Writing to GUI from an array 0 Answers
Random range choosing both results? 2 Answers
Random.Range changed in Unity 5? 2 Answers