Jump to content
Unity Insider Forum

Auf anderes Script zugreifen


stevensen

Recommended Posts

Hallo,

 

ich komm' grad nicht klar mit dem Zugriff auf eine Veriable eines anderen Scripts. Mein player- Gameobjekt hat 2 collider die für die Bewegung zuständig sind, das funktioniert. Jetzt hat der player noch ein Schwert. Um ne Kollision mit dem Gegner zu checken, hab ich ein leeres Gameobject gemacht und an den Player gelinkt. Das Schwert hat nen Collider als Trigger. Wenn ich ein Gegner berühre wird, wie gewollt, eine Kollision ausgeführt. Jetzt kommts. Der Trigger für das Schwert soll aber nur dann kollidieren wenn ich die zb. die f-Taste drücke. Mein Script für das Schwert ist Swordattack.cs, dass des Players Playercontroller.cs. Das playerscript hat ne bool-Variable isAttacking. Wie kann ich jetzt am einfachsten auf diese vaiable vom Schwertscript drauf zugreifen. Ich habe mir verschiedene Arten des zugriffs angeguckt aber komme nicht klar.

Eine andere Möglichkeit wäre ja im Schwertscript auch die taste-F abzufragen. Dann hätte die Abfrage doppelt wäre das schlimm? Aber eigentlich suche ich einen effizienten Weg die die Variable aus dem playercontroller zu lesen. Wie mach ich das am günstigsten?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn es wirklich nur um den (einzigartigen) Player geht, würde ich das Ding einfach static machen:

public static isAttacking{ private set; get; } //public auslesbar, aber nur private setzbar

und dann in Swordattack:

if(Playercontroller.isAttacking)

 

hab ich da jetzt was verpasst?

oder fehlt bei deinem 1. code der variablentyp?

und hab ich auch beim 2. was verpasst?

oder seit wann kann man variablen in andren scripten ohne getComponent<T>() aufrufen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zu 1: Da hat der Sascha das bool verjessen.

Zu 2: Wenn eine Variable static ist, dann ist sie Einzigartig! Das Sript, welches diese Variable beinhaltet, kann nur ein einziges mal im Projekt vorhanden sein und somit kannst du es auch direkt ansprechen und musst nicht es nicht erst suchen.

Ist jetzt bestimmt nicht so sauber ausgedrückt. Aber so kannst du dir das vorstellen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...