Ich habe das folgende Stück Code. Ich habe die Textkomponente im Editor auf no_lives verwiesen. Der Gamemanager (Singleton) wird zuvor eine Szene instanziiert. Das debug.log() zeigt 5 in der Konsole an. Aber wenn ich versuche, den Text zu setzen, bekomme ich, dass die Referenz nicht auf eine Instanz des Objekts gesetzt ist. Warum das?Unity3D C# - Text UI
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class level1_script : MonoBehaviour {
public Text no_lives;
// Use this for initialization
void Start() {
no_lives = GetComponent<Text>();
}
// Update is called once per frame
void Update() {
int lives_n = gamemanager.lives_f();
Debug.Log (lives_n);
no_lives.text = lives_n + " x";
}
}
'no_lives = GetComponent()' scheint nicht Arbeit –
Dawnkeeper
Sind Sie sicher, dass 'Start()' vor 'Update' aufgerufen wurde und dass die GetComponent tatsächlich einen Wert auf' no_lives' setzt? Auch 'lives_n' muss in einen String' lives_n.ToString() + "x" ' – Nkosi