Essayez d'utiliser la télécommande Wii en Java

Cette fois, j'aimerais utiliser la télécommande Wii avec Java.

Il existe peu de documents japonais et ils sont anciens, donc j'espère que vous pourrez les utiliser comme nouveaux documents.

Mise en garde

Cela ne fonctionnera que si la télécommande Wii est associée au PC en tant que périphérique Bluetooth. Assurez-vous de le coupler avant de l'exécuter.

environnement

Windows 10 Home Edition Eclipse 4.6 Java 1.8

Achat de la bibliothèque

Nous procéderons comme un projet ordinaire, pas comme Maven.

WiiuseJ Wiiusej 0.12a.zip à https://code.google.com/archive/p/wiiusej/downloads

Configuration du projet

Placez wiiuse.dll et WiiUseJ.dll pour Windows et libwiiuse.so et libWiiuseJ.so pour les utilisateurs Mac dans le dossier de ressources.

Jouez avec la bibliothèque

Trouvez la télécommande Wii pour le moment

Si une télécommande Wii est trouvée, la variable wiimote contiendra l'objet télécommande Wii.

example.java


import com.github.awvalenti.wiiusej.WiiusejNativeLibraryLoadingException;

import wiiusej.WiiUseApiManager;
import wiiusej.Wiimote;

public class MainAccessPoint {
	
	private Wiimote wiimote;
	private Wiimote[] wiimotes;
	
	public MainAccessPoint() throws InterruptedException {
		try {
			System.out.println("Finding wiimotes...");
			
			while(wiimotes == null) {
				/*2019/8/Il y a eu une erreur. getWiimotes(1);Ne pas obtenir(1, true);était. En outre, WiiUseApiManager a fait l'objet d'un accès statique.*/
				wiimotes = WiiUseApiManager.getWiimotes(1, true);
				if(wiimotes != null && wiimotes.length > 0) {
					wiimote = wiimotes[0];
					System.out.println("Télécommande Wii trouvée. Id: " + wiimote.getId());
					break;
				}
				wiimotes = null;
				continue;
			}
			
		} catch (WiiusejNativeLibraryLoadingException e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String args[]) throws InterruptedException {
		MainAccessPoint main = new MainAccessPoint();
	}
}

Essayez de changer la LED

Spécifiez avec booléen dans l'ordre à partir de la gauche du premier argument.

python


wiimote.setLeds(true, false, false, false);

Enregistrer l'auditeur sur la télécommande Wii

Enregistrez les écouteurs suivants dans wiimote.

Auditeur

Listener.java


import wiiusej.values.GForce;
import wiiusej.wiiusejevents.physicalevents.ExpansionEvent;
import wiiusej.wiiusejevents.physicalevents.IREvent;
import wiiusej.wiiusejevents.physicalevents.MotionSensingEvent;
import wiiusej.wiiusejevents.physicalevents.WiimoteButtonsEvent;
import wiiusej.wiiusejevents.utils.WiimoteListener;
import wiiusej.wiiusejevents.wiiuseapievents.ClassicControllerInsertedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.ClassicControllerRemovedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.DisconnectionEvent;
import wiiusej.wiiusejevents.wiiuseapievents.GuitarHeroInsertedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.GuitarHeroRemovedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.NunchukInsertedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.NunchukRemovedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.StatusEvent;

public class Listener implements WiimoteListener {

    public Listener() {
    }

    //S'allume lorsque le bouton est enfoncé. Vous pouvez dire de quel bouton il s'agit par le nom de la méthode.
    @Override
    public void onButtonsEvent(WiimoteButtonsEvent arg0) {
        if(arg0.isButtonHomeJustPressed()) {

        } else if(arg0.isButtonHomeJustReleased()) {

        } else if(arg0.isButtonPlusJustPressed()) {

        } else if(arg0.isButtonPlusJustReleased()) {

        } else if(arg0.isButtonMinusJustPressed()) {

        } else if(arg0.isButtonMinusJustReleased()) {

        } else if(arg0.isButtonOneJustPressed()) {

        } else if(arg0.isButtonOneJustReleased()) {

        } else if(arg0.isButtonTwoJustPressed()) {

        } else if(arg0.isButtonTwoJustReleased()) {

        } else if(arg0.isButtonAJustPressed()) {

        } else if(arg0.isButtonAJustReleased()) {

        } else if(arg0.isButtonBJustPressed()) {

        } else if(arg0.isButtonBJustReleased()) {

        } else if(arg0.isButtonRightJustPressed()) {

        } else if(arg0.isButtonRightJustReleased()) {

        } else if(arg0.isButtonLeftJustPressed()) {

        } else if(arg0.isButtonLeftJustReleased()) {

        } else if(arg0.isButtonUpJustPressed()) {

        } else if(arg0.isButtonUpJustReleased()) {

        } else if(arg0.isButtonDownJustPressed()) {

        } else if(arg0.isButtonDownJustReleased()) {

        }
    }

    //S'enflamme lorsque la télécommande Wii bouge.
    @Override
    public void onMotionSensingEvent(MotionSensingEvent arg0) {
        //La valeur du capteur d'accélération 3 axes est de 1 à-Il sera retourné dans la plage de 1.
        GForce force = arg0.getGforce();
        System.out.println("X: " + force.getX());
        System.out.println("Y: " + force.getY());
        System.out.println("Z: " + force.getZ());
    }

    @Override public void onStatusEvent(StatusEvent arg0) {}
    @Override public void onDisconnectionEvent(DisconnectionEvent arg0) {}
    @Override public void onClassicControllerInsertedEvent(ClassicControllerInsertedEvent arg0) {}
    @Override public void onClassicControllerRemovedEvent(ClassicControllerRemovedEvent arg0) {}
    @Override public void onExpansionEvent(ExpansionEvent arg0) {}
    @Override public void onGuitarHeroInsertedEvent(GuitarHeroInsertedEvent arg0) {}
    @Override public void onGuitarHeroRemovedEvent(GuitarHeroRemovedEvent arg0) {}
    @Override public void onIrEvent(IREvent arg0) {}
    @Override public void onNunchukInsertedEvent(NunchukInsertedEvent arg0) {}
    @Override public void onNunchukRemovedEvent(NunchukRemovedEvent arg0) {}

}

Enregistrer l'auditeur avec wiimote

wiimote.addWiiMoteEventListeners(new Listener());

Activer l'écoute de mouvement

Vous devez écrire le code suivant pour obtenir le mouvement.

wiimote.activateMotionSensing();

Je l'ajouterai quand je découvrirai quelque chose. Si vous avez des questions, laissez un commentaire.

Recommended Posts

Essayez d'utiliser la télécommande Wii en Java
Essayez d'utiliser Redis avec Java (jar)
Essayez d'utiliser l'API Stream en Java
Essayez d'accéder à l'ensemble de données depuis Java en utilisant JZOS
Essayez d'utiliser l'analyse syntaxique de l'API COTOHA en Java
Essayez d'utiliser RocksDB avec Java
Essayez d'utiliser GloVe avec Deeplearning4j
Essayez la connexion DB avec Java
Essayez d'implémenter le tamis Eratostenes en utilisant la bibliothèque standard de Java
Essayez gRPC avec Java, Maven
Utilisation de Mapper avec Java (Spring)
Essayez le hooking global en Java à l'aide de la bibliothèque JNativeHook
[Java] Essayez de modifier les éléments de la chaîne Json à l'aide de la bibliothèque
J'ai essayé d'utiliser la bibliothèque CameraX avec Android Java Fragment
Comparaison Java à l'aide de la méthode compareTo ()
Suivez le lien avec Selenium (Java)
Utilisation de Java avec AWS Lambda-Eclipse Préparation
[Java] Essayez de mettre en œuvre à l'aide de génériques
Essayez d'utiliser le système de messagerie Pulsar
Développement HTML5 par Java avec TeaVM
Essayez d'utiliser le traçage de méthode IBM Java
Utilisation du service proxy avec l'exploration Java
Essayez d'utiliser le SDK Java d'Hyperledger Iroha
[Java] Où avez-vous essayé d'utiliser java
Essayez HelloWorld avec la configuration minimale de Heroku Java spring-boot
La version d'Elasticsearch que vous utilisez est-elle compatible avec Java 11?
Vérifiez le fonctionnement à l'aide de la jetée avec Maven.
Utilisation de Java avec des arguments CloudWatch AWS Lambda-Implementation-Check
Essayez d'utiliser le service sur Android Oreo
Utilisation de Java avec AWS Lambda-Implementation-Stop / Launch EC2
Utilisation de JupyterLab + Java avec WSL sous Windows 10
Essayons WebSocket avec Java et javascript!
Étude de Java Essayez d'utiliser un scanner ou une carte
Essayez d'utiliser l'API au format JSON en Java
Essayez d'utiliser Spring Boot avec VS Code
Essayez d'appeler le service CORBA sur Java 11+
Développement de jeux avec deux personnes utilisant java 2
J'ai essayé d'utiliser OpenCV avec Java + Tomcat
Développement de jeux avec deux personnes utilisant java 1
Essayez d'utiliser l'API REST de JobScheduler - implémentation Java RestClient--
Essayez de gérer les bibliothèques Java avec AWS CodeArtifact
Essayez d'utiliser l'API Emotion d'Android
Développement de jeux avec deux personnes utilisant java 3
[Java] Obtenez la date avec la classe LocalDateTime
Essayez le débogage à distance Java avec des conteneurs distants dans Visual Studio Code Insiders
Essayez d'utiliser Firebase Cloud Functions sur Android (Java)
Essayez d'utiliser la classe de test RestClient de JobScheduler REST-API-Java-
Essayez d'utiliser libGDX
Essayez d'ajouter du texte à une image avec Scala en utilisant la bibliothèque standard de Java
Utilisez des modèles sur le chemin de classe avec Apache Velocity
Interagir avec l'API de message LINE à l'aide de Lambda (Java)
[LeJOS] Contrôlons le moteur EV3 avec Java
ChatWork4j pour l'utilisation de l'API ChatWork en Java
Essayez d'utiliser powermock-mockito2-2.0.2
Essayez d'utiliser GraalVM
[Java] Réglez l'heure depuis le navigateur avec jsoup
Essayez Java 8 Stream
Essayez d'utiliser jmockit 1.48
Comprendre le framework MVC avec Java 1/4 View côté serveur