【问题标题】:Is there any way to make a First Person Shooter input in Windows 8.1?有什么方法可以在 Windows 8.1 中进行第一人称射击游戏输入?
【发布时间】:2014-12-30 16:45:50
【问题描述】:

我正在开发一款 Windows 8.1 商店游戏。 游戏不需要成为 Windows 商店应用程序,但我将其用于开发,因为我已经拥有 Windows 商店代码,并且没有费心将输入和游戏循环代码迁移到传统桌面应用程序。

我现在遇到的问题是指针(可以是鼠标/触摸/笔)绑定到屏幕的分辨率。 我没有找到任何解决方法或设置鼠标光标,因此我无法创建像瞄准器或指针这样的第一人称射击游戏。

我知道在传统的 win32 桌面应用程序中可以做到这一点,但我想知道这个限制是否仅适用于 Windows 应用商店应用程序,或者我会在 Windows 8.1 上运行的传统桌面应用程序中遇到同样的限制吗? 换句话说,这个限制是 Windows 8.1 的事情吗?还是 Windows 商店应用程序? 有没有办法在 Windows 8.1 商店应用中创建类似鼠标/瞄准器的 FPS?

【问题讨论】:

    标签: windows windows-store-apps mouse windows-8.1


    【解决方案1】:

    您可以删除应用程序窗口边界限制,这可能比在 Win32 应用程序中更容易。您唯一需要做的就是:

    Window.Current.CoreWindow.PointerCursor = null;
    

    从现在开始处理此事件以获取鼠标移动时的增量值:

    MouseDevice.GetForCurrentView().MouseMoved
    

    我用它here

    【讨论】:

    • 太棒了,谢谢它的工作原理。我以前看到过这个处理程序,但没有使用它,因为 MSDN 文档说 MouseDevice 是一个不应访问的内部对象。
    • "MouseDevice 支持 Windows Presentation Foundation (WPF) 基础结构,不能直接从您的代码中使用。对于鼠标相关的输入,请使用 Mouse 类。Mouse 类将鼠标表示为应用程序并提供反映鼠标状态的方法、属性和事件。” msdn.microsoft.com/en-us/library/…
    • 那是 WPF 文档,不是 WinRT 文档 ;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    相关资源
    最近更新 更多