我想在 Direct3D v9 游戏(由第三方制作)之上覆盖自己的内容。
叠加交互按钮
具体来说,我想覆盖一个可点击的按钮控件,例如 Steam,尽管我正在尝试一个更简单的界面。
理想情况下,我可以覆盖一个 WPF 按钮或一个 Windows 窗体按钮或整个 UserControl,但如果这不可能,那么从基元创建一个功能按钮也足够了。
使用 SharpDX 的文本叠加
- 我有一个覆盖文本的工作示例 based on the work of Justin Stenning
- 即在 SharpDX.Direct3D9.Font DrawText method 的帮助下
如何使用 SharpDX 覆盖按钮或用户控件
我查看了https://github.com/sharpdx/SharpDX-Samples中的相关样本但无法找到使用 SharpDX 包含或绘制 native 控件的方法
- 这可能吗?
- 如果没有,是否有从头开始绘制可点击按钮的示例?
- 请记住我是 DirectX 世界的新手 :)
最佳答案
您最大的问题不是让控件在 DX 场景上渲染;这将使他们之后对输入做出响应。您可能可以想出一种方法将视觉效果复制到 DX 表面,但我不知道您将如何捕获输入、翻译输入并将其传送回 WPF 组件。即使有可能,它也几乎肯定比它的值(value)更麻烦。
有几个面向游戏的 Xaml 解决方案,您可能想要查看。 WPF for Games是基于 Direct3D 的 WPF 的部分 C++ 实现,还有专有的 Noesis GUI .
关于c# - 将按钮控件嵌入到现有的 Direct3D 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26611170/