Jump to content
Unity Insider Forum

Function aus Script A in Script B aufrufen


Christopher

Recommended Posts

Naja, da gibt es mehrere Fälle zu unterscheiden.

 

Objekt 1 hat Skript A und Skript B

Über GetComponent kannst du an die Instanz des anderen Skripts kommen. Deine Methode lässt sich also so aufrufen:

this.GetComponent<SkriptB>().MeineFunktion();

 

Objekt 1 hat Skript A und Skript B (Variante 2)

Eine andere Variante ist es das Messaging System von Unity zu verwenden. Über SendMessage kannst du bestimmte Funktionen anhand iheres Namens aufrufen. Hierbei werden alle Komponenten des GameObjekts durchgegangen und nach Funktionen mit dem Namen gesucht, diese werden dann aufgerufen. Da diese Methode Reflection verwendet ist sie deutlich langsamer als ein direkter Methodenaufruf.

SendMessage("MeineFunktion");

 

Objekt 1 hat Skript A und Objekt 2 hat Skript B

Hierbei muss eine Refernz auf das Objekt 2 erst an das Objekt 1 Übergeben werden um dann die Component Über GetComponent zu erlangen.

 

public GameObject Objekt2;
//...
void Update() {
 Objekt2.GetComponent<SkriptB>().MeineFunktion();
}

Dieses Skript besitzt dann Objekt 1 und im Editor muss man eben Objekt 2 in den "Objekt 2" Slot ziehen.

 

Es gibt natÜrlich noch viele andere Möglichkeiten Methoden aus anderen Skripts aufzurufen, die von mir Genannten bezogen sich alle auf Skripte die das Unity Komponentensystem verwenden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...