Jump to content
Unity Insider Forum

C# - GetComponent oder allgemein Objekte in einer if


Tarantel

Recommended Posts

Moinsen ich bins mal wieder xD

Hab da ein kleines problemchen ^^

Hier ein Beispiel:

using UnityEngine;
using UnityEngine.UI;


public class myScript : MonoBehaviour
{
  public KeyCode edit;
  public Text myText;

  void Update()
  {
  if(Input.GetKeyDown(edit))
  {
    myText = GameObject.FindWithTag("MyText").GetComponent<Text>();
  }
  else
  {
    myText = null;
  }
  
  }

}

 

Sobald ich myText in einer if eine Text Komponente zuweisen will spuckt er mir nur Fehler aus da ich diese Variable nicht festgelegt habe vor dem Start.

Dadurch stoppt das Script an der stelle und läuft nicht mehr weiter.

Gibt es eine Möglichkeit diese trotzdem am Anfang nicht direkt festzulegen ?
Er soll sich diese Text Komponente eig nur holen wenn er sie braucht und ansonsten nutzen andere Objekte die selbe.
Eine Platzhalter Text Komponente kann ich nicht einbinden da er mir sonst alles zerschießt was ich grade aufbaue ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Minuten schrieb Sascha:

Warum sollten nicht mehrere Komponenten gleichzeitig eine Referenz auf deinen Text speichern?

Da diese Text Komponente einen wert nach dem speichern übergibt und dieser soll nur in dem einen Object übernommen werden.
Dieses Object existiert aber mehrfach in der Welt und soll daher immer neue werte übernehmen.

Jede Version hat dadurch am ende seine eigenen Werte.

Soll als Einstellung von Kanälen zwischen den Objekten fungieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...