Jump to content
Unity Insider Forum

public static ... (ref ...)


Noob

Recommended Posts

Hallo zusammen,

ich habe eine Script, welches ich im Internet gefunden habe, das Quaterionen mittelt.

Dieses würde ich gerne hernehmen, weiß aber nicht, wie ich etwas in die Methode bekomme bzw. Werte wieder zurückbekomme.

Geht konrekt um dieses Script:

http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors

ich habe das mit dem

public static ... (ref ...)
noch nie gesehen und finde auch leider nichts. Auch meine diveresen Versuche sind leider gescheitert.

Vielleicht kann mir ja jemand von euch helfen?
Link zu diesem Kommentar
Auf anderen Seiten teilen

Zitat

finde auch leider nichts

https://msdn.microsoft.com/de-de/library/14akc2c7.aspx ?

Static sagt in dem Kontext, dass die Methode direkt über den Klassennamen aufgerufen werden kann.
Ref bewirkt, dass der Parameter per Referenz, statt als Wert übergeben wird ->

public class AwesomeClass
{
  public static void FooValue (Vector3 vec)
  {
      vec = new Vector3(0, 1, 0);
  }

  public static void FooRef (ref Vector3 vec) 
  {
      vec = new Vector3(0, 1, 0);
  }
}


int Main ()
{
  var vec = new Vector3(0, 0, 0);

  AwesomeClass.FooValue (vec);
  // vec ist (0, 0, 0)
  AwesomeClass.FooRef (ref vec); // ref muss auch beim Methoden Aufruf geschrieben werden
  // vec ist (0, 1, 0)
}

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schönes Beispiel für ref.

Die Erklärung zu static ist aber etwas gefährlich, da zu kurz. static macht eine Variable oder Methode übergreifend für die ganze Klasse. Wärhrend zwei verschiedene Objekte derselben Klasse unterschiedliche Werte für dieselbe nicht-statische Variable haben können, gibt es statische Variablen nur ein Mal pro Programm. Es ist also kein Freifahrtschein für einfacheren Zugriff oder so.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...