我正在使用XNA 4.0制作Windows游戏。我有一个快速的小介绍屏幕,显示我们的工作室标志,并播放声音。它持续1.5秒,在窗口模式下看起来和按需工作。
我们希望全屏运行游戏。所以我在实例化GraphicsDeviceManager之后添加的是“graphics.IsFullScreen = true”到Game子类构造函数,并且我们设置了首选的后备缓冲区维度。当游戏启动时,视频卡只会让我的显示器出现1秒或2秒的切换分辨率等等 - 这是视频卡,设备驱动程序和我的显示器之间的所有习惯和可理解的延迟,所有这些都会弄清楚这一变化,但是所有这些废话都在进行,XNA正在运行游戏循环。
这意味着我的介绍开始,运行并在系统到处实际显示我正在绘制的内容时结束,然后介绍结束。我真正喜欢的是一种在我开始绘制和播放声音之前检测视频卡实际渲染的方法,并假设玩家可以看到它们。在网上搜索,我看到过对“graphics.EnsureDevice()”调用的引用似乎已被弃用,并且在XNA 4.0中不再可用。
答案 0 :(得分:0)
我想这有点脏,但在将GraphicsDeviceManager.IsFullscreen属性设置为true之后,你可以触发一个不断检查DeviceParameter IsFullscreen是否在活动图形设备上设置为true的线程。
一旦设定,你就会开始你的游戏循环。
如果将GraphicsDeviceManager.IsFullscreen设置为true,您也可以以线程只会触发的方式编写它。这样它就可以支持两种模式。