Quantcast
Channel: Questions in topic: "parenting"
Viewing all articles
Browse latest Browse all 302

Creating text at the position of the gameobjects in world

$
0
0
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(); 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(); for (int i = 0; i < listOfObjects.Count; i++) { go.tag = "HealthText"; go.transform.SetParent(this.transform); go.GetComponent().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

Viewing all articles
Browse latest Browse all 302

Trending Articles