wiimote_handle(var num)

Liefert mit der gegebenen Zahl (1...4) ein Handle des Bluetooth-Eingabegerätes zurück - wie etwa ein WiiMote®, Nunchuk® oder Balance Board. Wird kein Bluetooth-Eingabegerät mit der gegebenen Zahl gefunden, liefert die Funktion 0 zurück. Das Gerät muß vor dem Starten der Applikation angeschaltet und verbunden (s. u.), und Joysticks dürfen nicht mit der Kommandozeilenoption nj abgeschaltet sein.

wiimote_status(var handle, void* wiimote)

Updated den Status des Gerätes - Bewegungs-Sensoren, Ausrichtung, IR-Sensor, analoger Stick und Button-Zustände - in das WIIMOTE-Strukt. Der Status wird als zweites Argument übergeben. Das WIIMOTE-Strukt ist in include\ackwii.h definiert.

var wiimote_smoothfac(var handle, var fac)

Setzt einen Faktor (0..1) zum Glätten der Wiimote-Winkeldaten.

wiimote_led(var handle, var ledmask)

Schaltet die 4 LEDs an oder aus.

wiimote_vibration(var handle, var on)

Schaltet die Vibration an (1) oder aus (0).

wiimote_ir(var handle, var on)

Aktiviert / deaktiviert die Infrarotkamera. Die Kamera ist in der Lage, die Positionen von bis zu 4 Infrarotpunkten zu ermitteln und erlaubt es, die WiiMote als ein Zeigegerät zu benutzen.

wiimote_connected(var handle)

wiimote_nunchuk_connected(var handle)

wiimote_classic_connected(var handle)

wiimote_guitar_connected(var handle)

wiimote_balanceboard_connected(var handle)

wiimote_ir_active(var handle)

wiimote_vibration_active(var handle)

Prüft, ob ein bestimmtes Gerät verbunden und aktiviert ist. Liefert für nicht-aktiv 0 zurück und ungleich Null für aktiv.

var wiimote_battery(var handle)

Liefert die Ladung der Batterie in Prozent zurück (0..100).

Parameter:

handle - Handle zum Indentifizieren der WiiMote.
on - 0 für aus und 1 für an.
fac - 0 für keinen Effekt, 0.999 für kompletten Effekt..
ledmask - Binärwert (0..15) mit 1 Bit für jedes LED. 1 = an, 0 = aus.

Verbinden einer WiiMote mit dem PC

Es können nur Geräte, die vor dem Starten der Anwendung angeschaltet, auf eine bestimmte Zahl (default = 0) gesetzt und mit dem PC verbunden sind, mit den wiimote-Funktionen verwendet werden. Wie man die WiiMote auf eine bestimmte Zahl setzt, ist im WiiMote-Handbuch beschrieben. Hier folgt nun eine Beschreibung, wie man die WiiMote mit dem Bluetooth-Stack des PCs verbindet (dieser Vorgang wird auch ´pairing´ (Paarung) genannt).

Verbinden mit Windows eingebautem Bluetooth-Stack:

Verbinden mit dem Toshiba® Bluetooth-Stack:

Trennen / Unpaaren, um Energie zu sparen (jeder Stack)

Bemerkungen:

Version:

 C 

Beispiel:

// Sample script demonstrating usage of a Bluetooth input device
// The WiiMote must be connected to the PC prior to starting the application
// For connecting a WiiMote, see manual->engine functions->wiimote
#include <acknex.h>
#include <default.c>
#include <ackwii.h>

// assigned to [A] button
void toggleVibration (var handle, WIIMOTE* wiimote)
{
	wiimote_vibration(handle, 1 - wiimote.status.vibration);		
}

WIIMOTE wiimote;

void main ()
{
// get a handle to the first Wiimote
	var wii_handle = wiimote_handle(1);
	if (!wii_handle) printf("No WiiMote connected!");

// create a screen entity to be controlled by the WiiMote
   you = ent_createlayer("earth.mdl",0,0);
   vec_set(your.x,vector(50,0,0));
	
// assign a function to Wiimote [A] button
	wiimote.event.on_a = toggleVibration;
  wiimote_smoothfac(wii_handle,0.95);

	while (1)
	{
// update buffer with data coming from Wiimote
		wiimote_status(wii_handle,wiimote);
		vec_set(your.pan,wiimote.angle1);
		wait(1);
	}
}

Siehe auch:

joystick values

► latest version online