[JAVA] [Verarbeitung] Versuchen Sie es mit GT Force.

Einführung

Dieses Mal hörte ich, dass ich versucht habe, GT Force mit einem PC zu verbinden. Es ist einfach, die Sprachverarbeitung zu verwenden. Probieren Sie es also aus. Wenn der Controller für das Spiel frei verwendet werden kann, werden die Dinge, die getan werden können, erweitert. Der Inhalt dieser Zeit basierte auf den Informationen auf der Website von "Various self-made". Der Autor versteht diese Bibliothek nicht klar, daher ist die Erklärung unzureichend. Bitte beachten Sie, dass es sich bei dem Inhalt um das Memo des Autors handelt.

Verschiedene selbst erstellte Websites

Die verwendete GT Force ist für PS2 und sehr alt. Als ich es nachgeschlagen habe, gab es eine Beschreibung, dass dieser Handle-Controller nicht mit Windows 10 kompatibel war, aber als ich den für GT Force Pro verwendete, konnte ich ihn sicher mit Windows 10 verwenden. Das Pedal reagierte jedoch nicht mit der Logicool-Setup-Software. Ich dachte, es sei eine Fehlfunktion, aber es funktionierte in einem späteren Programm.

Ausführungsumgebung

・ Windows10 64bit ・ Verarbeitung 3.5.3 ・ Game Control Plus 1.2.2 ・ GT Force LPRC-10000

Methode

① Installation der GT Force-Software

Installieren Sie die Software für GT Force Pro von der Support-Site von Logicool. Selbst wenn Sie dies nicht installieren, können Sie es erkennen, indem Sie den USB-Stick an Ihren Computer anschließen. Dies wird jedoch empfohlen, da Sie ihn kalibrieren können. Als ich beim Einstellen mit der Software den Knopf hinten rechts am Griff drückte, geriet der Griff außer Kontrolle und die Drehung hörte nicht auf (lacht). Nach dem erneuten Stechen gibt es bisher kein Problem. Logicool Support Site

② Installieren Sie die Bibliothek

Starten Sie zunächst die Verarbeitung und installieren Sie "Game Control Plus" über "Skizze" -> "Bibliothek importieren" -> "Bibliothek hinzufügen" auf der oberen Registerkarte.

(3) Überprüfen Sie den Betrieb anhand einer Beispielskizze.

Überprüfen Sie die Beispieldaten von "Game Control Plus" unter "Datei" -> "Beispiel" auf der oberen Registerkarte. Wählen Sie "Gcp_Configurator" und starten Sie es. Drücken Sie die Taste links neben dem Namen des angeschlossenen Geräts, um den Detailbildschirm zu öffnen. Sie können dort die Funktion jeder Taste und jedes Hebels überprüfen. GT Force erkannte 6 Tasten und 4 Schieberegler. Aber von den vier reagierte der Schieberegler "Kombinierte Pedale" nicht. Beenden Sie dieses Programm, nachdem Sie den Vorgang bestätigt haben.

Als nächstes werden die Steuerungsinformationen erhalten, indem das Beispielprogramm auf die gleiche Weise verwendet wird. Dies wird bei der zukünftigen Programmierung wichtig sein. Wählen Sie "Gcp_ShowDevices" aus dem zuvor ausgewählten Beispielprogramm von "Game Control Plus" und starten Sie es. In diesem Programm können Sie die Namen und Nummern der Schieberegler und Schaltflächen auf dem Controller überprüfen. Die Bewegung der Bildlaufleiste des Programms war instabil, aber die folgenden Daten wurden ohne Probleme erhalten. Notieren Sie diese Informationen.


 NAME :     Logicool WingMan Formula Force GP USB
  Type :     Wheel
  Port :     Unknown
    Buttons (6)
      Type     Name               Multiplier
      button    Left Paddle         -
      button    Right Paddle        -
      button    Button 3            -
      button    Button 4            -
      button    Button 5            -
      button    Button 6            -
    Sliders (4)
      Type     Name               Multiplier     Tolerance
      slider    Wheel axis          1.0            0.0            absolute
      slider    Combined pedals     1.0            0.0            absolute
      slider    Accelerator         1.0            0.0            absolute
      slider    Brake               1.0            0.0            absolute

Beim Programmieren verwendete Schlüsselwörter.

Zitiert aus Site von "Various self-made".

Schließen Sie die Bibliothek ein.

import net.java.games.input.*;
import org.gamecontrolplus.*;
import org.gamecontrolplus.gui.*;

Erklärung des zu verwendenden Controllers usw.

ControlIO control;
ControlDevice device;
ControlSlider[] sliders = new ControlSlider[4];
ControlButton[] button =new ControlButton[6];

Dies erfordert eine Änderung der Anzahl der Arrays in Abhängigkeit von der verwendeten Ausrüstung.

Laden Sie das Gerät (in setup () deklarieren)

control = ControlIO.getInstance(this);
device = control.getDevice("Logicool WingMan Formula Force GP USB");//Ändern Sie je nach verwendeter Ausrüstung.

Slider-Zuordnung (in setup () deklariert)

sliders[0] = device.getSlider(0);

Jetzt können Sie deklarieren. Da ich zuvor ein Array mit dem Namen "sliders []" erstellt habe, habe ich es diesem zugewiesen. Wenn mehrere Schaltflächen vorhanden sind, ändern Sie die Nummer.

Extrahieren Sie den Wert des Schiebereglers

sliders[0].getValue()

Der Wert aus dem Schieberegler kann jetzt einfach abgerufen werden.

Tastenbelegung (deklariert in setup ())

button[0] = device.getButton(0);
button[0].plug(this, "func1", ControlIO.ON_PRESS);//Verarbeitung beim Drücken der Taste
button[0].plug(this, "func2", ControlIO.ON_RELEASE);//Verarbeitung, wenn die Taste losgelassen wird

Der Knopf wurde so eingestellt. Jeder Funktionsname kann festgelegt und ausgeführt werden, wenn ein Ereignis auftritt. Die Funktion wird wie folgt deklariert.

void func1(){
//Der Prozess, den Sie ausführen möchten
}
void func2(){
//Der Prozess, den Sie ausführen möchten
}

Es kann einfach ausgeführt werden, indem die oben genannten Schlüsselwörter kombiniert werden.

Werte manipulieren

Der vom Regler ausgegebene Wert war ein positiver bis negativer Wert, daher musste der Wert angepasst werden. In diesem Fall ist es zweckmäßig, die "Karten" -Funktion zu verwenden. Bei der Konvertierung von x aus dem Bereich von a → b in den Bereich von c → d

float x = map(x,a,b,c,d);

Es ist einfach so zu bedienen.

abschließend

Dies macht es sehr einfach, den Gamecontroller zu verwenden. Die Verarbeitung kann einfach durch serielle Kommunikation mit Arduino verbunden werden, daher dachte ich, dass die Dinge, die ich tun könnte, erweitert werden würden.

Recommended Posts

[Verarbeitung] Versuchen Sie es mit GT Force.
Versuchen Sie es mit libGDX
Versuchen Sie es mit Maven
Versuchen Sie es mit powermock-mockito2-2.0.2
Versuchen Sie es mit GraalVM
Versuchen Sie es mit jmockit 1.48
Versuchen Sie es mit SwiftLint
Versuchen Sie es mit Log4j 2.0
Anfänger versuchen Android Studio Teil 2 (Ereignisverarbeitung)
Versuchen Sie es mit dem Axon Framework
Versuchen Sie es mit der REST-API von JobScheduler
Versuchen Sie es mit der Methode java.lang.Math
Versuchen Sie es mit Talend Teil 2
Versuchen Sie es mit Talend Teil 1
Versuchen Sie es mit der F # -Liste
Versuchen Sie es mit der Methode each_with_index
Versuchen Sie es mit Spring JDBC
Versuchen Sie es mit RocksDB mit Java
Versuchen Sie es mit GloVe mit Deeplearning4j
Versuchen Sie, mit Java zu kratzen [Hinweis]
Versuchen Sie es mit Cocoa von Ruby
Datenverarbeitung mit Apache Flink
Versuchen Sie es mit Spring Boot Security
[Swift] Asynchrone Verarbeitung mit PromiseKit
[Rails] Versuchen Sie, Faradays Middleware zu verwenden
CSV-Ausgabeverarbeitung mit Super-CSV
[Vollständige Programmierung] §2 Versuchen Sie es mit Ruby
[Java] Versuchen Sie, das Fizz Buzz-Problem mithilfe der rekursiven Verarbeitung zu lösen
Versuchen Sie, die asynchrone Verarbeitung in Azure zu implementieren
Implementieren Sie die deklarative Wiederholungsverarbeitung mit Spring Retry
Versuchen Sie es mit Redis mit Java (jar)
[Java] Versuchen Sie, mithilfe von Generika zu implementieren
Versuchen Sie es mit dem Nachrichtensystem Pulsar
[Kotlin] Ein Beispiel für die Verarbeitung mit Enum
Versuchen Sie es mit der IBM Java-Methodenverfolgung
Löschen von Dateien mit rekursiver Verarbeitung [Java]
Führen Sie die Parallelverarbeitung mit dem CyclicBarrier von Java durch
Versuchen Sie es mit dem Java SDK von Hyperledger Iroha
[Java] Wo haben Sie versucht, Java zu verwenden?