Ich entwerfe ein Spiel für mein Projekt und irgendwie wird die Partitur (Text) nach einer Aktion nicht aktualisiert. Es steckte bei 0.Text wird nicht aktualisiert in Unity C#
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class uiManager : MonoBehaviour {
public Text scoreText;
bool gameOver;
int score;
// Use this for initialization
void Start() {
gameOver = false;
score = 0;
InvokeRepeating ("scoreUpdate", 1.0f, 0.5f);
}
// Update is called once per frame
void Update()
{
scoreText.text = "Point: " + score;
}
void scoreUpdate()
{
if (gameOver == false)
{
score += 1;
}
}
public void gameOVER()
{
gameOver = true;
}
public void Play()
{
Application.LoadLevel ("MuachiJump");
}
void OnCollisionEnter2D(Collision2D col)
{
if (col.gameObject.tag == "branch")
{
score += 1;
Destroy(col.gameObject);
}
}
Ich möchte nur sicherstellen, gibt es einen Fehler in diesem Code? Alle scheinen richtig zu sein.
Seitliche Notiz, Sie sollten nicht Ihre Punktzahl in das Update drucken, wie Sie sind. Es erzeugt eine neue Zeichenkette und verwirft die vorherige Zeichenkette. Verwenden Sie stattdessen eine Eigenschaft für Ihr Bewertungselement, mit der auch der Text aktualisiert wird. Auf diese Weise wird nur eine neue Zeichenfolge erstellt, wenn Sie den Wert ändern. – Everts