1

XNAでDirectInputを使用していますが、次のコードを実装すると、奇妙な理由でゲームが開始されません。

DeviceList gameControllerList = Manager.GetDevices(DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly);

それは本当に私のゲームを壊します、それを残すことはそれを壊しますが、行をコメントすることはうまくいきます。理由は全くわかりません。私はMicrosoft.DirectX.DirectInputすべてを参照しました。私はまったく新しいプロジェクトを開始し、そのラインに入ったばかりでしたが、ゲームを開始するのに運がありませんでした。

これは文字通り私の完全なコードでありInput.InitializeController()、のinitializeメソッドから呼び出すだけGame1()です。

using System;
using Microsoft.DirectX.DirectInput;

namespace InputTesting{
    class Input{
        public void InitializeController(){
            DeviceList gameControllerList = Manager.GetDevices(DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly);
        }
    }
}

誰かがこれとの取引が何であるか知っていますか私は完全に困惑しています。

ありがとう!

4

1 に答える 1

2

XNA 4.0を使用している場合、問題はXNAがDirectInputを適切にサポートしていないことが原因です。

デバイスをプログラムで動作させるには、XNA 3.1にロールバックするか、4.0で直接入力を許可するラッパーを使用する必要があります。ラッパーSlimDXを使用することをお勧めします。

于 2012-03-09T15:21:54.210 に答える