Programmier Fehler kann mir wer helfen?
if (other.tag == "Coin")
{
coinCounter++;
Destroy (other.gameObject);
scoreText = "Score: " + coinCounter;
Debug.Log ("Score: " + coinCounter);
}
Das Ist mein Code und irgendetwas ist daran nicht richtig den ich kriege immer diesen error Assets\scripts\Player.cs(26,21): error CS0029: Cannot implicitly convert type 'string' to 'UnityEngine.UI.Text' kann mir wer helfen?
es ist ein 2D spiel
1 Antwort
Hallo.
Der Error besagt, dass die Zuweisung
scoreText = "Score: " + coinCounter;
so nicht funktionieren kann. Ich habe nie was mit Unity gemacht, aber vermutlich gibt es eine Methode zum Setzen von Texten, oder es ist idealerweise ein Objekt, dann wird es vermutlich das Feld "Text" geben, welches du setzen kannst.
Versuch es mal so:
scoreText.text = "Score: " + coinCounter;
und wenn das nicht funktioniert, dann so:
scoreText.SetText("Score: " + coinCounter);
Viel Erfolg. 👍
Wie gesagt, ich habe nie was mit Unity gemacht. Ich kann auch nur Vermutungen treffen. Aber schön, dass das andere geklappt hat! 👍
aber das klappt ich meine das
scoreText.text = "Score: " + coinCounter;
DANKE
und wenn du es korrekt machen willst, dann kippst du nicht nur eine Variable mit einem Zahlenwert in das Text-Attribut, sondern konvertierst das ordentlich in einen String.
scoreText.text = "Score: " + coinCounter.ToString();
nicht ganz da steht
Text' does not contain a definition for 'SetText' and no accessible extension method 'SetText' accepting a first argument of type 'Text' could be found (are you missing a using directive or an assembly reference?)