我正在使用DX11为C ++中的UWP编写一个游戏引擎。我正在使用CoreWindow
输入事件将输入中继到游戏引擎(按钮,键和鼠标移动)。但是,我在创建FPS相机时遇到了问题。我想做的就是将鼠标光标放在屏幕中心的零位置,然后读取相对于该点的任何运动,这样我就可以确定相机视图的旋转角度。
这几乎被证明是不可能的...首先,由于PointerPosition
上的CoreWindow
是只读的,因此无法设置鼠标光标的位置(我现在一直在咒骂Microsoft,小时,为什么他们会继续为我们开发人员设置这些愚蠢的障碍?)。而且我需要能够为零,否则我将受到屏幕的限制。
DXInput似乎不起作用,Intellisense可以识别接口,但编译器不能,这至少可以说是很奇怪。
答案 0 :(得分:2)
我已经在PC上进行了测试,并且可以在PointerPosition
上设置CoreWindow
,如下所示:
CoreWindow^ window = CoreWindow::GetForCurrentThread();
window->PointerPosition = Point(10, 10);
然后,指针实际上按预期方式移动到窗口中的给定位置。