Jump to content
Unity Insider Forum
Metus

Text von GUI Textfeld ändern via Script

Recommended Posts

Hallo zusammen,

 

ich habe das Gefühl, ich habe das ganze Internet abgesucht. Aber ich glaube es hapert an den richtigen Schlüsselwörtern oder meinem noch begrenzten Unity Wissen :D

 

Ich möchte via Script den Inhalt eines GUI Textes ändern. Ich möchte den Score meines Spielers ausgeben. Das ganze funktioniert schon, er zählt und spuckt es mir via Print(); auch in der Console aus.

Aber ich finde ums Verrecken nicht die richtige Methode, um den Score auch im UI wiederzugeben...

 

Wer kann mir helfen? :)

Share this post


Link to post
Share on other sites

Sorry, mit dem neuen arbeite ich!

Und genau den Plan den du beschreibst hatte ich, aber ich habe nicht den blassesten Schimmer wie ich das machen könnte.... Ich finde auch einfach nix. Wie gesagt, ich glaube ich habe die falschen Suchbegriffe....

 

Ich kreigs irgendwie nicht hin, die Textfeld Variable anzusteuern

Share this post


Link to post
Share on other sites

Du definierst in deinem Script einfach ein Textfeld. Dazu benötigst du

 

using UnityEngine.UI;

 

Anschließend kannst du im Script entweder ein Textfeld als public definieren, im Inspector das Textfeld dann ins Script ziehen und darauf zugreifen:

 

public Text myTextField;
void Start()
{
myTextField.text = "Blubber";
}

 

oder du holst dir die Canvas und suchst darin das Textfeld:

void Start()
{
	m_Canvas = FindObjectOfType<Canvas>();
	if (m_Canvas != null)
	{
		Text myText = m_Canvas.GetComponentsInChildren<Text>()
				 .Where(textField => textField.name == "ScoreText")
				 .First();
		myText.text = "Score";
	}
}

Voraussetzung: du hast nur eine Canvas. Ansonsten musst du die Canvas auch erst nach z.B. Name suchen.

 

Wahrscheinlich gibts eine einfachere Möglichkeit als GetComponentsInChildren, mal sehen, was andere sagen.

Share this post


Link to post
Share on other sites

Cool, Variante 1 hat bestens geklappt! Die hatte ich auch schon versucht, glaube aber da hatte ich vegessen den UI Namespace hinzuzufügen. Danke!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...