2011-07-06 72 views
1

所以我要簡單的應用程序,只需要幾行:C#的DirectX輸入問題

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using Microsoft.DirectX.DirectInput; 

namespace asdasd 
{ 
    public partial class Form1 : Form 
    { 
     public Device joystick; 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      foreach (
       DeviceInstance di in 
       Manager.GetDevices(
        DeviceClass.GameControl, 
        EnumDevicesFlags.AttachedOnly)) 
      { 
       joystick = new Device(di.InstanceGuid); 
       break; 
      } 

      if (joystick == null) 
      { 
       throw new Exception("No joystick found."); 
      } 
     } 
    } 
} 

,我試圖讓我的電腦上能動操縱桿,但我得到的錯誤:

The error

我有程序集Microsoft.DirectX.DirectInput,我已經安裝了directX SDK 2010。

有人能告訴我問題在哪裏嗎?

回答

0

DirectX程序集針對.NET v1.1構建微軟在.NET v2.0發佈之前停止了積極開發它們。

它們不能用於除.NET v1.1以外的項目。 XNA是管理訪問Direct X功能的「有福」路徑。我不知道全部是否是功能,但SlimDX似乎給C#提供了比XNA更多的Direct X感覺API,儘管我沒有使用它,但我聽到很多關於它的信息。

雖然您可以在gamedev.stackexchange.com上找到更好的響應來選擇升級路徑。