作成中のゲームに ps3 コントローラーを使用しようとしています。私は、sharpDX.DirectInput 拡張機能をビジュアル スタジオの XNA ソリューションにダウンロードし、C# .NET を使用してジョイスティックから入力を取得するの Valdemar の回答から一見単純なコードを使用しました。私はすでに問題を、彼がコントローラーの GUID や、キーボードなどの他の USB 接続デバイスの GUID を見つけることができないという事実に絞り込みました。ただし、ラップトップの統合キーボードでは機能します。これが私のコードです:
directInput = new DirectInput();
// Find a Joystick Guid
foreach (var deviceInstance in directInput.GetDevices(DeviceType.Gamepad, DeviceEnumerationFlags.AllDevices))
guid = deviceInstance.InstanceGuid;
//create joystick
if (guid!=Guid.Empty)
controller = new Joystick(directInput, guid);
問題は、コントローラーが null のままであることです。これは、GUID が空のままであることを意味し、GetDevices メソッドがゲームパッドを見つけられないことを意味します。コントローラーがWindows 7で完全に機能し、デバイスマネージャーでHIDおよびWindowsクラスのMicrosoft共通コントローラーとして表示されるため、これは奇妙です。
ところで、Microsoft.DirectX.directInput を使用して同じ問題が発生しました。
読んでくれてありがとう :)