- Home /
Creating text at the position of the gameobjects in world
HI all!
I am trying to have a text displaying over the enemies and player. The code as it is will just display it on top, but for testing purpose it doesnt matter.
Code: public class ShowHealthText : MonoBehaviour { public List listOfObjects; public Text healthText; GameObject go;
// Update is called once per frame
void Update () {
//I add the enemies and the player to a list
listOfObjects = new List<GameObject>();
listOfObjects.AddRange(GameObject.FindGameObjectsWithTag("Enemy"));
listOfObjects.Add(GameObject.FindGameObjectWithTag("Player"));
//Finding all existing text opjects and destroys them
var texts = GameObject.FindGameObjectsWithTag("HealthText");
for (int i = 0; i < texts.Length; i++)
{
Destroy(texts[i]);
}
//Creates as many new GameObjects as there is enemies + player
//and adds a text component to them
go = new GameObject("Text Go");
go.AddComponent<Text>();
for (int i = 0; i < listOfObjects.Count; i++)
{
go.tag = "HealthText";
go.transform.SetParent(this.transform);
go.GetComponent<Text>().text = "stuff";
//Instantiates the text as a parent of the canvas
//and in the position as the GameObject in the list
Instantiate(go, listOfObjects[i].transform.position, transform.rotation);
}
}
}
When i run the code, i get the correct amount of gameobjects, all with the text element. But only one gets positioned right and has the canvas as parent. The other objects gets piled up somewhere outside the canvas and no text is actually showed in the game (not even the correctly positioned).
I dont get the inconsitency and why it doesnt work. Please help me :D
Your answer
Follow this Question
Related Questions
Instantiating gameObejcts that can't be referred to after creation 1 Answer
How to make a gameObject instantiate a prefab for every 250 damage taken ? 4 Answers
Instantiate a GameObject at a position specific to an element that was found in a text 1 Answer
How to make an Instantiated prefab a Child of a gameobject that already exists in the hierarchy 3 Answers
prefab is instantiating without a script 2 Answers