我知道你可以通过扩展窗口并取消标题栏,状态栏和其他东西来伪造全屏,我对此不感兴趣,我想知道“真正的”全屏模式(我不知道)我知道怎么称呼它,就像在游戏中一样。
究竟什么是全屏模式? 应该用什么win-api来达到这个目的? 这可以用来全屏播放电影吗?我知道Windows媒体播放器使用假全屏,因为我可以“剪切”它并看到桌面(使用区域win-api)。 我可以通过一个窗口(使用区域win-api)“切割”通过“真正的”全屏幕吗?这是直接写入视频内存并且没有什么“在”下面吗?
谢谢!
答案 0 :(得分:1)
如果您想在Windows上全屏制作游戏,最佳选择是 XNA 。这使用了DirectX,但隐藏了很多实现细节和管道,以便开发人员可以轻松开始他的游戏。
XNA可以免费下载,并且有很好的文档。
可以下载XNA Game Studio 4.0 here。
答案 1 :(得分:0)
如果您不想使用DirectX,请创建窗口并使用CDS_FULLSCREEN
标记调用ChangeDisplaySettings。 OpenGL应用程序使用这种方式全屏显示。
答案 2 :(得分:0)
...除了“真正的”全屏外,您可能还想支持“假”全屏模式 - 对于我们这些运行多显示器系统的人来说,这是非常好的。
答案 3 :(得分:0)
就用户而言,全屏就是当一个窗口占据整个屏幕时,他们不再看到任何窗口边框或其他桌面内容。
如您所知,并非所有全屏都是平等的。
'正确'全屏是程序控制屏幕的地方。当游戏使用此模式时,它可以更改屏幕的分辨率。如果你曾经玩过一款旧游戏并且已经存在,看到你的图标都搞砸了,这就是;在玩游戏期间,您的桌面分辨率较低。
'无边框全屏'程序窗口是条纹的任何边框,标题栏和框架等,只是一个纯渲染的矩形。如果您将此渲染上下文设置为与桌面大小相同,则会获得全屏效果。
现在,做无边框通常是用户友好的方式,因为它更容易“标记”,因为其他程序仍然是图形化的。 “正确”的全屏幕可让您完全控制硬件,因此从理论上讲,您可以为程序提供更多功能,但这意味着您必须等待事情重新初始化。
您对渲染上下文的处理取决于您,所以是的,您可以使用它来播放视频。如果您处于“正确”全屏幕状态并不重要,渲染代码将是相同的。
至于切割适当的全屏窗口,我不确定,但我认为没有别的东西可以看,只有你的程序。
至于win-api,只有一个windows api,但我想你的意思是,什么是窗口库;因为这已经成为一个很长的答案,我只想说它很大程度上取决于你想从中得到什么。
如果您需要我澄清或扩展任何要点,请随时发表评论。