Vibrationseffekt von Xbox 360-Controlern nutzen

Die GamePads der Xbox 360 unterstützen für die beiden analogen Steuersticks Vibrationseffekte. Mit dieser Funktion lässt sich in Spielen haptisches Feedback für den Spieler erzeugen.

Die Nutzung der Vibrationseffekte gestaltet sich sehr einfach. Ein Aufruf von GamePad.SetVibration genügt. Allerdings muss das Ausschalten des Vibrationseffektes explizit erfolgen. Der folgende Code zeigt eine einfache Möglichkeit einen Vibrationseffekt für eine bestimmte Zeitspanne zu aktivieren. Die Funktion Vibration bekommt als Parameter die Dauer und Intensität des Effektes und startet den Effekt. Die Intensität wird direkt an den Aufruf von GamePad.SetVibration übergeben, während die Dauer in einer Klassenvariablen gespeichert wird.

private int vibrationTimer;

/// <summary>

/// Activate the vibration of the left game pad controler

/// </summary>

/// <param name="duration">in milliseconds</param>

/// <param name="intensity">in the range of [0.0f:1.0f]</param>

public void Vibration(int duration, float intensity)

{

GamePad.SetVibration(0, intensity, 0.0f);

vibrationTimer = duration;

}

Damit der Vibrationseffekt auch tatsächlich wieder beendet wird, muss die folgende Überprüfung in die Update-Methode des Spiel eingefügt werden.

protected override void Update(GameTime gameTime)

{

// check for vibration

if (vibrationTimer > 0)

vibrationTimer -= gameTime.ElapsedGameTime.Milliseconds;

else

GamePad.SetVibration(0, 0, 0);

}

Bei jedem Aufruf von Update wird die Zeitspanne seit dem letzten Aufruf von der Effektdauer abgezogen und sobald die Effektdauer bei Null ist, wird der Vibrationseffekt beendet. Das Auslösen des Effektes erfolgt durch einen Aufruf von Vibration.

Vibration(100, 0.5f);

free pokereverest poker revie
Copyright 2013 FZI Karlsruhe, alle Rechte vorbehalten