#include <Windows.h>
#include <XInput.h>
#include <iostream>
using namespace std;
struct Controller{
XINPUT_STATE state;
};
class Joypad
{
public:
int getJoystickPort()
{
DWORD dwResult;
for (DWORD i = 0; i < XUSER_MAX_COUNT; i++)
{
XINPUT_STATE state;
ZeroMemory(&state, sizeof(XINPUT_STATE));
// Simply get the state of the controller from XInput.
dwResult = XInputGetState(i, &state);
if (dwResult == ERROR_SUCCESS)
{
return((int) i);
cout << "Joystick Port: " << i << " is connnected." << endl;
cout << "Button " << (((int)state.Gamepad.wButtons == XINPUT_GAMEPAD_A)) << " pressed." << endl;
cout << "LX: " << state.Gamepad.sThumbLX << " LY: " << state.Gamepad.sThumbLY << endl;
cout << "RX: " << state.Gamepad.sThumbRX << " RY: " << state.Gamepad.sThumbRY << endl;
}
else
{
cout << "Joystick at Port: " << i << " is disconnected." << endl;
}
}
return -1;
}
};
void joystickStates(){
Joypad* joypad = new Joypad;
while (true){
system("cls");
joypad->getJoystickPort();
Sleep(1000);
}
}
int main(){
joystickStates();
return 0;
}
im取得中__in & __outはこのスコープのエラーでは宣言されませんでした。 \ DirectSDK \ Libの\ x86の-lXinput -oジョイパッドg ++を使用したC++ XInputコンパイル
と私も グラム++ Joypad.cpp -ICを試してみました:\ DirectSDK \は-LCを含める:
は私がJoypad.cpp -IC++グラム以下の構文を使用しました: \ Windows SDK〜um、共有など-LC:\ Windows SDK \ Lib -lXInput -oジョイパッド私が見逃したことはありますか?私はmingwのx86_64での使用
ディレクトリに含ま: Windowsのキット8.1(ええと、共有、WinRTの) マイクロソフトのDirectX SDKを
ライブラリが含ま:XInput.lib - C:\ PROGRA〜2個の\マイクロス〜4 \をLib \ x86の
エラーはhttp://pastebin.com/mJen909Tにあります –