gpt4 book ai didi

c# - 延迟启动 XNA 游戏切换到全屏搞乱介绍屏幕

转载 作者:太空宇宙 更新时间:2023-11-03 15:49:41 24 4
gpt4 key购买 nike

我正在使用 XNA 4.0 制作 Windows 游戏。我有一个快速的小介绍屏幕,显示我们的工作室 Logo 并播放声音。它持续 1.5 秒,在窗口模式下看起来和工作都符合预期。

我们想全屏运行游戏。因此,在实例化 GraphicsDeviceManager 并且我们设置了首选后备缓冲区尺寸之后,我添加的只是“graphics.IsFullScreen = true”到 Game 子类构造函数。当游戏开始时,显卡只会让我的显示器出现 1 或 2 秒的切换分辨率等故障 - 这是显卡、设备驱动程序和我的显示器之间的所有习惯和可以理解的延迟,它们都在计算这种变化,但是XNA 正在运行游戏循环,而所有这些废话都在进行。

这意味着我的介绍开始、运行并在系统开始实际显示我正在绘制的内容时结束,然后介绍结束。我真正想要的是在我开始绘制和播放声音和计时之前检测视频卡何时实际渲染的方法,假设播放器可以看到它们。在网上搜索时,我看到了对“graphics.EnsureDevice()”调用的引用,该调用似乎已被弃用并且在 XNA 4.0 中不再可用。

最佳答案

我想这有点脏,但您可以启动一个线程,在您将 GraphicsDeviceManager.IsFullscreen 属性设置为 true 后,不断检查事件图形设备上的 DeviceParameter IsFullscreen 是否设置为 true。

设置完成后,您就可以开始游戏循环了。

您还可以将其编写为只有将 GraphicsDeviceManager.IsFullscreen 设置为 true 时线程才会触发的方式。这样它将支持两种模式。

关于c# - 延迟启动 XNA 游戏切换到全屏搞乱介绍屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26443270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com