我必须制作一个多人游戏并为用户(在不同的地方)提供一个选项来更改他们的屏幕分辨率以维持他们的硬件要求。类似于反击。 我怎样才能在c中实现这个?如何为坐在不同计算机上的用户提供更改屏幕分辨率的选项?
答案 0 :(得分:2)
C语言或标准库中没有标准方法,这完全取决于您编写程序的图形库。
如果您想要一个真正的简单方法,可以使用xrandr
和system()
:
#include <stdlib.h>
system("xrandr > resolutions.tmp"); // direct output to 'resolutions.tmp'
// retrieve possible resolutions from 'resolutions.tmp'
system("xrandr -s resolution_id"); // select a certain screen resolution
编辑:正如您所提到的,您在Ubuntu上使用OpenGL,您可以按照以下文章中的一些步骤使用库调用更改分辨率:
http://www.opengl.org/wiki/Programming_OpenGL_in_Linux:_Changing_the_Screen_Resolution
答案 1 :(得分:0)
http://www.opengl.org/wiki/Programming_OpenGL_in_Linux:_Changing_the_Screen_Resolution为我工作。在底部你有编译命令,使用它但添加-std = c99。谷歌的关键词(没有冒犯,我会很感激):opengl屏幕分辨率
答案 2 :(得分:0)
您肯定会使用一个库来处理特定于操作系统的详细信息。该库将负责找出屏幕分辨率,颜色深度和各种缓冲区可用的组合,然后您可以选择一个,或者让用户选择一个。
例如,GLFW通过其glfwGetVideoModes函数执行此操作。
执行此操作的基础代码既是特定于平台的,也是丑陋的。你想花一些时间写游戏而不是弄乱它。