c ++中的屏幕分辨率

时间:2016-03-01 20:48:31

标签: c++ user-interface sdl resolution

我使用SDL 1.2在C ++中制作了一个简单的游戏,我使用wtypes.h中的函数来获得显示分辨率,然后将游戏分辨率设置为它的值。问题是,当我编译它时,exe文件(我的游戏的分辨率)取决于它编译的计算机的分辨率。因此,当我将exe文件复制到另一台计算机并运行时,游戏分辨率将与我的计算机分辨率相同,而不是计算机的分辨率(除非它们具有相同的分辨率)。有没有办法在运行时获得显示分辨率?我明白我可以简单地在那台计算机上编译我的cpp文件,但这需要C:B / VS,dll文件和链接dll文件:/

1 个答案:

答案 0 :(得分:3)

SDL_GetVideoInfo函数返回一个只读指针,指向包含视频硬件信息的结构。如果在SDL_SetVideoMode之前调用它,则返回结构的成员current_wcurrent_h将包含最佳视频模式的像素格式。

#include "SDL.h"

SDL_Init( SDL_INIT_VIDEO );
const SDL_VideoInfo* videoInfo = SDL_GetVideoInfo(); 
width = videoInfo->current_w;
height = videoInfo->current_h;
相关问题