gestor de dispositivos bluetooth, al WiiMote presionado los botones 1 y 2 a la vez, y lo conectamos como raton, interfaz humana, HID, … o como tu gestor lo denomine.
Ahora toca agregar como referencia a nuestro proyecto la libreria WiimoteLib.dll y empezamos a picar codigo, se declaran variables globales en la clase que estamos programando:
privateWiimote mWiimote; WiimoteCollection mWC; privatedelegatevoidUpdateWiimoteStateDelegate(WiimoteChangedEventArgs args);
Una vez declarados los objetos con los que trabajaremos declaramos las funciones encargadas de la gestion:
privatevoid ManejaWiiMote()
{
int index = 1; mWC = newWiimoteCollection(); try {
//Buscamos todos los WiiMotes existentes
mWC.FindAllWiimotes();
}
catch (Exception ex)
{
//Aplicamos nuestro protocolo de errores (por ejemplo log4net)
}
//Se tratan todos los WiiMote
foreach (Wiimote wm in mWC)
{
// Conectamos con el WiiMote
wm.WiimoteChanged += wm_WiimoteChanged; wm.Connect();
if (wm.WiimoteState.ExtensionType != ExtensionType.BalanceBoard) wm.SetReportType(InputReport.IRExtensionAccel, IRSensitivity.Maximum, true);
//Asignamos el numero de led a encender en WiiMote
wm.SetLEDs(index++);
}
}
void wm_WiimoteChanged(object sender, WiimoteChangedEventArgs e)
{
UpdateState(e);
}
publicvoid UpdateState(WiimoteChangedEventArgs args)
{
WiimoteState ws = args.WiimoteState;
//Con el mando como si jugaras al MarioKart //Y = -0,9 Izquierda -0,0 | 0 | 0,1 Derecha 0,9 //Z = -0,9 Decelera -0,0 | 0 | 0,1 Acelera 0,9
if (ws.AccelState.Values.Y > 0.5) {
//Has girado el mando a la derecha, puedes llamar las funciones pertinentes a esta accion.
}
if (ws.AccelState.Values.Y < -0.5) {
//Has girado el mando a la izquierda, puedes llamar las funciones pertinentes a esta accion.
}
if (ws.AccelState.Values.Z > 0.5) {
//Has girado el mando hacia delante, puedes llamar las funciones pertinentes a esta accion.
}
if (ws.AccelState.Values.Z < -0.5) {
//Has girado el mando hacia atras, puedes llamar las funciones pertinentes a esta accion.
}
}
Desde aqui podeis seguir trabajando con el resto de la informacion que proporciona estas librerias.