stevensen Geschrieben 17. Februar 2014 Melden Share Geschrieben 17. Februar 2014 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 More sharing options...
Sascha Geschrieben 17. Februar 2014 Melden Share Geschrieben 17. Februar 2014 Wenn es wirklich nur um den (einzigartigen) Player geht, würde ich das Ding einfach static machen: public static bool isAttacking{ private set; get; } //public auslesbar, aber nur private setzbar und dann in Swordattack: if(Playercontroller.isAttacking) Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
TheLittleMagnus Geschrieben 17. Februar 2014 Melden Share Geschrieben 17. Februar 2014 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 More sharing options...
malzbie Geschrieben 17. Februar 2014 Melden Share Geschrieben 17. Februar 2014 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 More sharing options...
stevensen Geschrieben 18. Februar 2014 Autor Melden Share Geschrieben 18. Februar 2014 Hey super jetzt funktionierts!! Danke an alle für Antworten und Tipps. Jetzt wo ich weiß probier ich, das nochmal mit der getComponent funktion. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.