【问题标题】:C++ SDL ResolutionC++ SDL 解析
【发布时间】:2012-08-18 21:49:17
【问题描述】:

我正在尝试使用 SDL 库制作游戏,我想知道我应该使用什么分辨率制作游戏。可悲的是,我不知道 Windows 如何处理不同的分辨率,所以我不知道应该使用什么分辨率来制作游戏。那么我应该使用什么分辨率呢?

我在 stackoverflow 上的类似帖子中某处读到它会即时更改分辨率。谁能证实这一点?如果有人有任何解释这个问题的文章请分享,我在谷歌上找不到任何文章。

【问题讨论】:

  • SDL 可以让您查询可用的分辨率,不是吗?
  • 我不确定你说了什么,但我想我终于找到了答案。 “SDL_FULLSCREEN SDL 将尝试使用全屏模式。如果无法更改硬件分辨率(无论出于何种原因),将使用下一个更高的分辨率,并且显示窗口以黑色背景为中心。”我猜我可以只用高分辨率,但对于无法处理它的 PC 来说它会缩小?
  • 抱歉,我可能混淆了 SDL 和 Allegro。后者绝对可以让你枚举可用模式,但现在我不确定 SDL 是否也有这样的功能。

标签: c++ sdl


【解决方案1】:

尝试SDL_ListModes 列举可用的分辨率并从中选择一个。 flags 参数应该类似于 SDL_HWSURFACE | SDL_FULLSCREEN

【讨论】:

    【解决方案2】:

    SDL 允许您以与最初设置相同的方式重置视频模式,通过调用 SDL_SetVideoMode,分辨率将重置为新的视频模式。

    但是,如果您决定使用 SDL 来挂钩 OpenGL,当您调用 SDL_SetVideoMode 函数时,您将丢失 OpenGL 上下文以及所有纹理和状态,因此请务必在屏幕上重新加载它们分辨率变化。

    另外,如果您想要一些好的 SDL 文章,请查看此链接 Lazyfoo SDL tutorials

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-11
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多