Welche Parameter kann ich mit Unity Input.getAxis verwenden?

8

Unity .getAxis(string name) scheint den durch Benutzereingaben generierten Gedankenoffset zurückzugeben (Pfeile, Maus oder sogar Joystick). Die Rückgabewerte liegen zweckmäßigerweise im Intervall von <-1; 1> mit Ausnahme des Mausrads.

Aus verschiedenen Codebeispielen kann ich viele Möglichkeiten sehen, Eingaben zu erhalten, aber es scheint keine tatsächliche Namens- / Eingabeliste zu geben. In meinem Fall möchte ich Zoom mit dem Rad oder PgUp und PgDn aktivieren. Der Radcode sieht so aus:

%Vor%

Aber was für eine Seite nach unten und eine Seite nach oben? Und wie kann ich im Allgemeinen wissen, welche Namen in dieser Methode verwendet werden?

    
Tomáš Zato 03.11.2014, 23:04
quelle

1 Antwort

9

Input.GetAxis und Input.GetButton (sowie GetButtonDown und GetButtonUp ) gibt nur den Status einer virtuellen Eingangsachse zurück, die in Input Manager .

Die Rückgabewerte müssen nicht im Bereich [-1, 1] liegen. Die meisten virtuellen Achsen, die einen absoluten Wert darstellen, werden durch einen Wert zwischen -1 und 1 dargestellt. Es gibt jedoch Achsen, die eine relative Bewegung zurückgeben, wie das vordefinierte "MouseWheel", "Mouse X" und "Mouse Y". Sie geben den Betrag zurück, um den sich die Achse seit dem letzten Frame verschoben hat.

Das MouseWheel hat einige zusätzliche "Probleme". Der Delta-Wert wird dem Betriebssystem entnommen. Wenn der Benutzer das Scrollrad auf 3 Zeilen pro "Scrolleinheit" eingestellt hat, erhalten Sie Werte von einem Vielfachen von 3. Wenn Sie es schaffen, das Rad schnell genug zu drehen, können Sie Werte größer als 3 oder kleiner als -3 erhalten.

Es gibt keine Standardachsen für PageUp oder PageDown, Sie können sie jedoch hinzufügen, wenn Sie möchten. Aber Vorsicht, GetAxis wird den Zustand der virtuellen Achse zurückgeben. Wenn Sie also die positive Taste gedrückt halten, erhalten Sie eine "1", solange Sie die Taste gedrückt halten. Wenn Sie auf Ereignisse hören möchten, müssen Sie GetButtonDown / GetButtonUp verwenden.

Wenn Sie jedoch einen bestimmten Schlüssel überprüfen möchten, ist es in der Regel einfacher, GetKeyDown / GetKeyUp , welches eine KeyCode .

Etwas wie:

%Vor%

Bearbeiten
Wenn Sie die allgemein verfügbaren Tastennamen kennen möchten, werfen Sie einen Blick auf die Seite Konventionelle Spieleeingabe . Unten finden Sie eine Liste mit den gebräuchlichsten Schlüsselnamen, darunter "Seite nach oben" und "Seite nach unten". Der Eingabe-Manager verweigert normalerweise falsche Schlüsselnamen. Also, wenn Sie einen eingeben, unfocus zum Eingabefeld und der Wert bleibt, ist es korrekt.

Wenn Sie eine positive Schaltfläche bei jedem Drücken der Schaltfläche setzen, wird die virtuelle Achse "langsam" von 0 auf 1 erhöht, abhängig von der Einstellung "Empfindlichkeit". Die Empfindlichkeit ist wie ein Beschleunigungsfaktor. Wenn Sie die Taste loslassen, kehrt sie "langsam" zurück auf 0, abhängig vom "Schwerkraft" -Wert, der ein Verzögerungsfaktor ist.

Wenn Sie eine positive und eine negative Schaltfläche einrichten, kann die Achse bei Drücken der positiven Schaltfläche bis zu 1 und beim Drücken der negativen Schaltfläche bis zu -1 gehen. Wenn "snap" auf "true" gesetzt ist, springt es sofort wieder auf 0 zurück, wenn Sie auf die nebenstehende Schaltfläche klicken, anstatt langsam auf 0 zurückzugehen und dann in die entgegengesetzte Richtung zu wachsen.

Der Wert "tot" definiert die Totzone. Wenn der Wert einer Achse kleiner als tot (oder größer als -dead) ist, wird sie als 0 behandelt. Dies ist wichtig für reale analoge Eingabegeräte, die normalerweise etwas Jitter um ihre Ruheposition haben.

Die restlichen Eigenschaften wie "Invertieren", "Typ" und so sollte man beim Lesen der Dokumentation klarstellen.

Es ist möglich zwei Achsen mit demselben Namen zu definieren wie die Achsen "Horizontal" und "Vertikal". Achsen mit dem gleichen Namen werden wie eins behandelt.

Ich denke, das sollte die meisten Input Manager-Sachen abdecken.

    
Bunny83 04.11.2014, 00:20
quelle

Tags und Links