【问题标题】:XNA 4.0 - How to render a viewport in a second windowXNA 4.0 - 如何在第二个窗口中渲染视口
【发布时间】:2014-06-12 07:56:56
【问题描述】:

我在 XNA 中创建了一个带有顶视图的 3D 世界。现在我想在第二个窗口(Winform)中渲染这个世界的视口(主窗口视图之外的其他视图)。两个窗口(游戏屏幕和视口屏幕)应该在同一个显示器上。

我遵循了一些“Winforms 中的 XNA”教程,但我只有 Init 和 Draw 方法。是否可以使用这些方法呈现视口,还是这样做的方法错误?

知道如何做到这一点吗?

谢谢

顺便说一句,我是 XNA 的新手 ;)

【问题讨论】:

    标签: c# winforms xna xna-4.0


    【解决方案1】:

    This 看起来像你所追求的。

    总的来说,本文建议您创建一个继承自 GraphicsDeviceManager 的子类。此类将必不可少的查找和存储连接的监视器。然后,您可以在不同的线程上创建两个游戏窗口(每个监视器一个 - 请记住将 GraphicsDeviceManager 替换为您的新子类)。实例化 Game 类时,传入您要定位的监视器的索引。

    请注意,它不使用单独的 Winform。

    祝你的游戏好运,欢迎来到 XNA!

    更新要将它们都放在同一个监视器上(分屏),您可以通过创建 2 个新视口来实现这一点(例如,一个视口用于屏幕左侧,另一个用于屏幕右侧)。查看MSDN上的this文章。

    【讨论】:

    • 不鼓励仅链接的答案,因为如果另一端的页面被移动、编辑或删除,它们将变得无用。您能在这里总结一下解决方案吗?
    • 嘿,我试过了,我觉得这很酷。但如果可能的话,我想在一台显示器上同时运行两个窗口(游戏屏幕和视口屏幕)。
    • 谢谢,但我之前做过这个:) 我明白了,我的问题还不够清楚。视口应在另一个窗口中呈现,以便它可以位于主窗口(全屏)后面但对用户不可见。因为我喜欢将视口流式传输到平板电脑上(我已经有了流式传输的解决方案,但我需要一个不可见的视口)。
    • 通过“多显示器支持”解决方案的线程解决了它。就在一个屏幕上。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多