Wo ist hier der Fehler?

2 Antworten

Ich werde versuchen zu helfen und dies sachlich und einfach zu erklären:

Das Problem liegt darin, dass dein Script "CoinManager" versucht auf eine "Instanz" (ich erkläre das Wort gleich) zuzugreifen welche es nicht gibt.

C# ist eine OOP (Objekt Orientierte Programmiersprache), das bedeutet, dass alles als ein Objekt angesehen werden kann. Stell dir vor du hast einen Apfel (dein Script) diesen Apfel kannst du so viele Male klonen wie du willst, also ganz viele "Instanzen" von diesem Apfel erstellen. Eine Instanz ist also eine dieser Kopien, von dem Objekt welches existiert.

Der Fehler zeigt an, dass es eine gesuchte Instanz, auf welche im Script "CoinManager" auf Zeile 19 zugegriffen wird, nicht gibt. In diesem Falle ist es die Instanz des Text-Objekts "money". Du denkst dir jetzt vermutlich "Ich habe doch das Objekt erstellt in der Szene, es existiert also!" Ja, aber das Script weiss das nicht.

Fehlerbehebung: Du musst auf dem Objekt, auf dem das "CoinManager" Script ist, im Inspector unter der Variable "money" dein Text Objekt aus der Szene hinzufügen (geht über draufklicken und auswählen oder das Objekt per Drag and Drop aus der "Hierarchy" auf das Feld hineinziehen).

Etwas komplex erklärt, aber hoffe das hilft weiter 😅

Sonst gerne nachfragen :D

Woher ich das weiß:Hobby – Programmierung mit Unity und C#

Hast du eine Instanz von "CoinManager" erstellt?

Du benutzt diese, ohne eine Instanz dessen.


Charledegaulle 
Beitragsersteller
 14.12.2023, 19:50

Was bedeutet das ( ich programmiere erst seit ein paar Wochen )