我试图使用 DirectXTK 在我的游戏引擎中实现鼠标和键盘支持。键盘非常简单,但我在实现适当的鼠标支持时遇到了问题。我正在关注这个在我的引擎中实现鼠标。Microsoft wiki 上的这篇文章说,在我能够将鼠标模式从绝对更改为相对之前,我已经调用了 SetWindow。这听起来很容易,但是当我尝试这样做时:
auto mouse = std::make_unique<DirectX::Mouse>();
mouse->SetWindow(hwnd);
mouse->SetMode(DirectX::Mouse::Mode::MODE_RELATIVE);
我收到一个错误:
E0135 class "DirectX::Mouse" has no member "SetWindow"
看起来此方法在 Mouse 类中不存在。这很奇怪,因为如果我用设置窗口删除这一行,它会编译,但由于 Mouse 类中的这个断言,我会在运行时失败:
assert(mWindow != nullptr);
所以需要设置窗口,但是当这个功能不存在时,我该怎么做呢?更糟糕的是来自wiki的文章并不旧,它是从2019年4月18日开始的。有人遇到过这个问题吗?我怎样才能解决这个问题?