Jump to content
Unity Insider Forum

Unity UI updatet sich nicht und Werte werden außerhalb der Laufzeit gespeichert


Recommended Posts

Hallo,
ich habe hier ein Projekt eines Unity Anfängers hochgeladen. Das Minispiel ist ein typisches "Dinge fallen vom Himmel, du musst sie einsammeln, manche Dinge bringen Punkte, manche Dinge ziehen dir Punkte ab" - Spiel. Das Projekt an sich ist extrem simpel gehalten, in 5 min. nachgebaut etc. Nun gibt es zwei Probleme:

1. Das Highscore-Text-Element updated sich trotz

txt.text = currentHighscore.ToString();

nicht. Obwohl er laut Debugger immer in die Methode reingeht.

Das finde ich sehr komisch, da sich der Text im Spiel eigentlich verändern sollte, der Wert ist ja erstmal egal. Aber da er in die Methode reinkommt, sollte sich da am Canvas etwas tun.

2. currentHighscore wird bei jedem Spielstart nicht wieder auf 0 gesetzt, obwohl im Code bei der Initialisierung die Variable mit 0 beginnt. Die Variable merkt sich immer den Wert des letzten Spielstandes.

Ebenfalls sehr komisch, da beim Spielstart, also ein kompletter Reset, ja nirgendwo Daten gespeichert werden. Man baut das Spiel ja quasi neu.

Ich selbst habe das Ganze mal bei mir am PC nachgebaut (gleicher Code) und es funktioniert wunderbar. Hat jemand Interesse, über das Projekt drüberzuschauen und möglicherweise zu entdecken, wieso diese beiden Probleme auftauchen? Ich hoffe, dass es ein ganz dummer Fehler ist, aber bei meinem nachgebauten Projekt trat dieser nicht auf. Ich selbst bin nur etwas überfragt, wieso bei ihm Werte außerhalb der Laufzeit übernommen werden und sich sein Text Element nicht updatet...

Feed_Me_Fool.rar

Link to post
Share on other sites

Das Problem wurde schon teilweise gelöst. Der Code ist korrekt, ebenso sind die Felder im Inspector zugewiesen. Dennoch haben die Collectables als Objektreferenz der Highscore zuerst die richtige Instanz und danach eine .. warum auch immer .. nicht existierende Instanz.

Das kam wohl dadurch zustande, dass Objekte in der Szene erstellt wurden, diese dann den Collectables zugewiesen wurden. Dann wurden diese Objekte zu Prefabs gemacht und gelöscht, dann wurde alles nochmal im Asset Ordner zugewiesen und wahrscheinlich ging es dann ein wenig durcheinander bei Unity, sodass bei seiner Version keine richtige Referenz mehr durch den Inspector besteht.

Nimmt man die Inspectorzuweisung weg und lässt kurz per Tag suchen, funktioniert es.

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...