6

抱歉,如果我的问题看起来有点无聊,但我找不到答案。我想在我的 XNA 游戏中使用 DirectInput。我已经阅读过,似乎这是从 Xbox 360 控制器以外的游戏手柄获取输入的最佳方式。第一步是包含 Microsoft.DirectX.DirectInput 命名空间,但我不太清楚如何。简单地把它放在我上课的开头是行不通的,Visual C# 无法识别它。

这让我想到我应该下载 DirectX SDK 吗?里面有很多东西,而且文件很大,我该如何下载单个命名空间?这甚至可能吗?如果我可以下载单个命名空间,我应该把文件放在哪里?

现在你可以看到所有的问题在我的脑海里盘旋。那么如何让 Visual C# 识别 Microsoft.DirectX.DirectInput 命名空间,以便我可以使用方法、属性和所有这些好东西呢?

谢谢!

4

3 回答 3

6

您需要设置对包含您要使用的代码库的 DLL 的引用。大概这是 SDK 的一部分,所以是的,您应该下载它。然后,在 Visual Studio

  • 打开解决方案资源管理器
  • 打开要使用该库的项目
  • 右键单击该项目的引用节点
  • 选择“添加参考”
  • 导航到并选择 dll

成功添加引用后,VS 应该识别 using 指令(以及您从程序集中使用的任何类型)。

请注意,对程序集的引用;程序集与命名空间不同。初学者经常混淆这两者。在不同程序集中定义的类型可以在同一个命名空间中;BCL 有几十个这样的例子。

此外,“使用”指令不会导致任何东西被加载或类似的东西;它只允许您指定类型而不完全限定名称。事实上,可以在不使用using指令的情况下用 C# 编写代码。例如,以下代码文件是等效的:

using System.Collections.Generic;
public static class Collector
{
    public static ICollection<T> Collect(IEnumerable<T> enumerable)
    {
        return new List<T>(enumerable);
    }
}

public static class Collector
{
    public static System.Collections.Generic.ICollection<T> Collect(System.Collections.Generic.IEnumerable<T> enumerable)
    {
        return new System.Collections.Generic.List<T>(enumerable);
    }
}
于 2012-02-17T23:16:37.040 回答
1

下载 SDK。它不会与您的应用程序一起重新分发。但是您开发 DirectX 应用程序所需的一切都将包含在其中。安装后,“添加参考”对话框中将出现新条目。

于 2012-02-17T23:16:16.877 回答
0

为了利用 DirectX,您需要下载 SDK。

根本不可能下载其中的一部分。即使是这样,我也不建议这样做。

于 2012-02-17T23:17:19.960 回答