Ich programmiere mit C++/CLI (.NET) und DirectInput(DirectX 9.c).
Das fangen der werte sieht so aus....
Ich erstelle das Device und einige Variablen die die werte halten:
|
C-/C++-Quelltext
|
1
2
3
|
Single Mouse_X;
Single Mouse_Y;
DirectInput::Device ^mDevice;
|
Das Device Initialisieren:
|
C-/C++-Quelltext
|
1
2
|
mDevice = gcnew DirectInput::Device(SystemGuid::Mouse);
mDevice->Properties->AxisModeAbsolute = true;
|
und dann mit ner eigenen Methode die Werte fangen:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
|
public: void TestMouseMove(){
mDevice->Acquire();
mState = mDevice->CurrentMouseState;
Mouse_X = mState->X;
Mouse_Y = mState->Y;
}
|
und dann ausgeben (?!?)
|
C-/C++-Quelltext
|
1
|
MessageBox::Show("X: "+Mouse_X.ToString()+"\nY: "+Mouse_Y.ToString());
|
Das mit der MessageBox ist natürlich Schwachsinn weil bei jedem Frame die Methode "TestMouseMove()" ausgeführt wird. Die Werte Mouse_X und Mouse_Y brauch ich Global weil mehrere Methoden drauf zugreifen sollen.