【发布时间】:2012-02-20 01:34:35
【问题描述】:
我将 DirectInput 与 XNA 一起使用,但是由于某些奇怪的原因,当我实现以下代码时,我的游戏将无法启动:
DeviceList gameControllerList = Manager.GetDevices(DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly);
这真的破坏了我的游戏,评论这行作品虽然留下它破坏了它。我完全不知道为什么。我引用了Microsoft.DirectX.DirectInput 和所有内容。我什至开始了一个全新的项目,刚刚进入那条线,但在游戏启动时没有运气。
这实际上是我的完整代码,我只是从Game1() 的初始化方法中调用Input.InitializeController()。
using System;
using Microsoft.DirectX.DirectInput;
namespace InputTesting{
class Input{
public void InitializeController(){
DeviceList gameControllerList = Manager.GetDevices(DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly);
}
}
}
有谁知道这是怎么回事,我完全被难住了。
谢谢!
【问题讨论】:
-
你能提供更多细节吗?它会崩溃吗?抛出一个未经处理的异常?如果您在调试器中单步通过该行会发生什么?
-
当然我会试试的。游戏根本无法启动,我必须点击停止调试按钮才能将其全部关闭。因此它不会因为没有启动而崩溃。从来没有抛出任何错误。有趣的事情可能是这样的:我已经将输出类型更改为控制台我相信您对此很熟悉。这样一来,一旦我按下调试按钮,控制台和游戏窗口都会出现。使用该行输入控制台会出现,但实际的游戏窗口不会。
-
重新安装 DirectX SDK 有帮助吗?
标签: c# xna directinput