Wir sind also schon mal am Code schreiben mit ChatGPT, aber es läuft momentan schon nicht gut. Wir haben mehrere KLassen die irgendwie das selbe machen und eine Ausgabe, die nicht vollständig war. Also frage ich nochmal nach und ChatGPT fängt nochmal an… mit einer 3ten Klasse:
Um das Spiel in Unity zu starten, kannst du das “Play”-Button oben links in der Unity-Editor anschauen. Um eine Willkommensnachricht in die Textbox anzuzeigen, kannst du eine Methode erstellen, die beim Start des Spiels aufgerufen wird. In dieser Methode kannst du die Text-Komponente des Input Field auf die Willkommensnachricht setzen.
Eine Möglichkeit, dies zu tun, ist folgendes:
- Erstelle eine neue C#-Datei mit dem Namen “GameManager” in deinem Unity-Projekt.
- Füge folgenden Code hinzu:
csharpCopy codeusing UnityEngine;
using UnityEngine.UI;
public class GameManager : MonoBehaviour
{
public InputField inputField;
private void Start()
{
inputField.text = "Willkommen bei deinem Text Adventure RPG!";
}
}
- Ziehe die Input Field-Komponente aus dem Unity-Editor in das “Input Field”-Feld im “GameManager”-Script.
- Füge das “GameManager”-Script als Komponente zu einem leeren GameObject im Unity-Editor hinzu.
Jetzt sollte die Willkommensnachricht beim Start des Spiels im Input Field angezeigt werden. Um nun die Eingabe des Spielers zu lesen und dementsprechend das Spiel weiterzuführen, kannst du die Methode “OnEndEdit” des Input Field verwenden. Diese Methode wird aufgerufen, wenn der Spieler die Eingabe beendet und die Eingabe in einer Variable gespeichert werden.
Hoffe das hilft dir weiter!
Aber ich habe noch immer das Problem, dass ich TextMesh Pro nutze und ChatGPT es noch nicht mal mit “using” importiert hat. Ich habe also nun 3 Dateien die eigentlich fast das gleiche tun sollen. Ganz ehrlich ab hier ist es für einen Entwickler ohne Ahnung unmöglich ein Spiel aus dem Non-Sense zu machen.

ChatGPT und Unity ohne zu wissen was man tut… unmöglich!
Und leider ist das schon jetzt der Fall. Wir haben ein paar Dateien erstellt und keine von den Variablen kann ein TMP Object annehmen. Also müssen wir ein wenig eingreifen und ich frage ChatGPT wie ich TMP in Unity einsetze
Um eine TMP TextBox in Unity anzusteuern, kannst du folgende Schritte durchführen:
- Erstelle ein neues UI-Element von Typ “Input Field” in deiner Unity-Szene und benenne es beispielsweise “TextBox”.
- Füge dem Input Field ein TMP Text Component hinzu und benenne es “Text”.
- Erstelle eine neue C#-Klasse, die das UI-Element steuert. Nennen Sie die Klasse z.B. “TextBoxManager”
- Füge in der Klasse eine Referenz zum Input Field hinzu und benenne sie “textBox”
- Erstelle eine Methode, die aufgerufen wird, wenn eine Nachricht angezeigt werden soll, zum Beispiel “ShowText(string message)”. In dieser Methode kannst du dann den Text der TextBox über die Eigenschaft “text” setzen.
- Rufe die Methode “ShowText” in deinem Start-Code auf und übergebe eine Begrüßungsnachricht als Argument.
- In der Klasse TextBoxManager, kannst du dann die Eingabe des Spielers über das Input Field aufnehmen und verarbeiten.
- Du kannst zusätzlich eine Methode erstellen die aufgerufen wird, wenn der Spieler auf einen bestimmten Button klickt, z.B. “OnSubmit()” und die Eingabe des Spielers verarbeiten.
Das war eine grobe Anleitung wie man eine TMP Textbox ansteuern kann. Da es eine komplexe Aufgabe ist, würde ich dir empfehlen, dich ausführlicher mit den Unity UI und C#-Programmierung auseinandersetzen.
Auch das hilft mir erst mal nicht weiter, aber das liegt auch an meinen Fragen die nicht sonderlich genau sind. Aber welcher Neuling, stellt bitte die richtigen Fragen? Ich versuche also einen Code zu bekommen.