- Home /
assign string value from array to multiple game objects
hi everyone, im a complete newbie to unity.. i have 5 strings in an array, i want to take 4 strings randomly and assign them to 4 game objects.
this is what i have done
var elements: Array = new Array();
function Start () {
elements.Push("WOOD");
elements.Push("FIRE");
elements.Push("EARTH");
elements.Push("METAL");
elements.Push("WATER");
}
function Update () {
deleteOneElement();
}
function deleteOneElement(){
var randomNumber = Random.Range(0, 4);
elements.splice(randomNumber, 1);
}
i delete one of them randomly, and now i want to assign the rest to 4 cube objects, but i have no idea how.. any help would be so much appreciated, thank you
Answer by tomekkie2 · Jun 16, 2012 at 08:10 AM
I would do that in that way:
private var elements: String[] = ["WOOD","FIRE","EARTH","METAL","WATER"];
var cubes: GameObject[];
function Start () {
deleteOneElement();
}
function deleteOneElement(){
var randomNumber = Random.Range(0, 4);
var j = 0;
for (var i=0; i<cubes.length; i++) {
j++;
if(i == randomNumber) j++;
cubes[i].name = elements[j];
}
}
Assuming you mean to do it once, not every frame, I put the deleteOneElement function into Start(). Then you have assign the cubes to the script in the inspector.
thank you for your help, but i have another question.. i have 4 cubes named territory1, territory2, territory3, territory4.
how can i say that cubes[0] = territoty1 ??
Create an empty GameObject or take any from the existing ones, attach the script to it and assign your cubes to the cubes array elements in the script in the inspector.
Your answer
Follow this Question
Related Questions
Javascript - Calling a random String 2 Answers
Reading integer value from specified character(s) on text line? 2 Answers
String array not working 1 Answer
How to convert a string to int array in Unity C# 1 Answer
Adding array values together 3 Answers