Athene Posted March 13 Report Share Posted March 13 Hey, Ich hab mal wieder ein Problem: Ich hab einen Text (Als TextMeshPro UGUI), jetzt hab ich den Text in der Start Funktion mit Name.SetText beschrieben. Das funktioniert auch soweit. Jetzt möchte ich den aber in folgenden Funktionen ändern und habe jetzt mit Name.text gearbeitet, allerdings funktioniert das nicht. Gibt's da irgendwelche Tipps? Danke schonmal im Vorraus. Quote Link to comment Share on other sites More sharing options...
gombolo Posted March 13 Report Share Posted March 13 Name.text = "neuer Text" so sollte es doch gehen...wobei "neuer Text" auch eine Variable sein kann, aber bitte eine string-Variable. Oder casten, wenn notwendig.... Name.text = intVariable.toString(); edit: casten -> casting bedeutet du änderst den Typ einer Variable. Hinweis: Das sollte man an zeitkritischen Stellen nicht machen Quote Link to comment Share on other sites More sharing options...
Athene Posted March 14 Author Report Share Posted March 14 Hey, Ersteres funktioniert irgendwie nicht, aber auf die Idee das mit einer Variable zu machen bin ich noch nicht gekommen, das probiere ich heute abend mal aus, danke Quote Link to comment Share on other sites More sharing options...
gombolo Posted March 14 Report Share Posted March 14 vor 3 Stunden schrieb Athene: ...aber auf die Idee das mit einer Variable zu machen bin ich noch nicht gekommen 🤣 du bist lustig....wie hast du es den bis jetzt gemacht? Ich meine Variable sind die Grundpfeiler der Programmierung. Erst durch die Möglichkeit Werte in Speicher zu schreiben und zu lesen sind die Computer zu dem geworden was sie heute sind 😆 Zeig mal etwas Code, dann kann dir besser geholfen werden... 🙂 Quote Link to comment Share on other sites More sharing options...
Athene Posted March 16 Author Report Share Posted March 16 Hey, Ich komme leider immernoch nicht weiter. Ich hab jetzt folgendes. Der erste Text unter der start funktion wird auch angezeigt, allerdings ändert er sich nicht. Quote Link to comment Share on other sites More sharing options...
chrische5 Posted March 16 Report Share Posted March 16 Hallo Ich verstehe nicht, was du machen willst und was du bisher versucht hast. Die Funktion Entscheidung wird in deinem Code nicht aufgerufen. Btw. sind Screenshots nicht so gut. Füge den Code doch einfach ein. Dafür gibt es den <> Button hier im Forum. Es reicht auch, wenn du beschreibung.text = Text schreibst. Die Benennung deiner Variablen ist auch inkonsistent, was es schwerer macht, den Code zu lesen. Christoph Quote Link to comment Share on other sites More sharing options...
Athene Posted March 16 Author Report Share Posted March 16 Hey, Ich versuche den Text, der angezeigt werden soll zu ändern wenn der Spieler etwas bestimmtes eintippt. Die Funktion Entscheidung ist am Input Feld und das mit dem Debug.Log funktioniert in dieser Funktion auch, nur nicht das ändern des Textes. Quote Link to comment Share on other sites More sharing options...
gombolo Posted March 16 Report Share Posted March 16 Also....kein schöner Programmierstil, aber selten.... macht man das nicht -> TMPro.TextMeshProUGUI txtTextfeld; so ich meine das du, so wie du es machst, eine Fehlermeldung erhalten solltest. Quote Link to comment Share on other sites More sharing options...
Sascha Posted March 16 Report Share Posted March 16 Ohne jetzt viel darüber nachzudenken, direkt einmal der Hinweis: Bei TextMeshPro immer als Komponententyp TMP_Blub nehmen. Wenn's nicht mit "TMP_" anfängt, kann es immer Probleme geben. Hier also statt TextMeshProUGUI bitte "TMP_Text" nehmen. @gombolo Nö, oben steht ja "using TMPro;", damit geht's auch. 1 Quote Link to comment Share on other sites More sharing options...
gombolo Posted March 16 Report Share Posted March 16 Dann lass das im Awake raus...denke nicht das man das braucht, wenn man es richtig macht. sorry bin aktuell mit Unreal unterwegs und habe paar Sachen schon vergessen Quote Link to comment Share on other sites More sharing options...
chrische5 Posted March 16 Report Share Posted March 16 Hallo Da können wir uns streiten. txt als Präfix finde ich komplett unnötig und schrecklich. Wenn du zum Debug kommst, dann mach doch mal: Debug.Log(beschreibung.text); beschreibung.text = "Lala"; Debug.Log(beschreibung.text); Oder nutze Breakpoints und hangele dich durch den Code. Christoph Quote Link to comment Share on other sites More sharing options...
Sascha Posted March 16 Report Share Posted March 16 vor 4 Minuten schrieb chrische5: Da können wir uns streiten. txt als Präfix finde ich komplett unnötig und schrecklich. Meinst du jetzt TMP? Das ist halt meiner Erfahrung nach keine Geschmackssache, sondern der Unterschied zwischen "funktioniert" und "funktioniert nicht", je nach Situation. Quote Link to comment Share on other sites More sharing options...
gombolo Posted March 16 Report Share Posted March 16 vor 4 Minuten schrieb chrische5: Da können wir uns streiten. txt als Präfix .... Naja, das sollte auch nicht die Lösung sein ich habe nur das using TMPro übersehen und wollte nur schnell was tippen. Also nicht irritieren lassen ist nur der Name einer Variablen und hat nichts mit dem ursprünglichen Problem zu tun. Quote Link to comment Share on other sites More sharing options...
chrische5 Posted March 16 Report Share Posted March 16 vor 5 Minuten schrieb Sascha: Meinst du jetzt TMP? Das ist halt meiner Erfahrung nach keine Geschmackssache, sondern der Unterschied zwischen "funktioniert" und "funktioniert nicht", je nach Situation. Hallo. Nein, das ist klar. Ich meinte den Namen der Variable, den @gombolo nutze. Christoph Quote Link to comment Share on other sites More sharing options...
gombolo Posted March 16 Report Share Posted March 16 vor 2 Stunden schrieb Sascha: Ohne jetzt viel darüber nachzudenken, direkt einmal der Hinweis: Bei TextMeshPro immer als Komponententyp TMP_Blub nehmen. Wenn's nicht mit "TMP_" anfängt, kann es immer Probleme geben. Hier also statt TextMeshProUGUI bitte "TMP_Text" nehmen. @gombolo Nö, oben steht ja "using TMPro;", damit geht's auch. Ach du meinst so z.B? using TMPro; // Importiere das TMPTextMesh Namespace public class TextController : MonoBehaviour { public TMP_Text textMesh; // Referenz zum TMPTextMesh-Komponente im Editor void Start() { string text = GetDynamicText(); // Rufe die Methode GetDynamicText auf und speichere den zurückgegebenen Text in einer Variablen textMesh.SetText(text); // Setze den Text des TMPTextMesh auf den zurückgegebenen Text aus der Methode } string GetDynamicText() { // Hier wird eine Beispiel-Logik verwendet, um einen dynamischen Text zu erstellen string dynamicText = "Heute ist der " + System.DateTime.Now.ToString("dd.MM.yyyy") + "."; return dynamicText; } } @Athene dieser Code erstellt dynamisch einen Text. In diesem Fall wir ein Text mit dem heutigen Datum erstellt. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.