Allegro 5 游戏:如何设置适合屏幕宽高比的分辨率?

发布于 2024-07-30 17:41:16 字数 200 浏览 5 评论 0原文

使用 Allegro 5,如何在全屏模式下初始化游戏,以便它尊重屏幕格式(宽屏 16:9 与正常 3:4)

al_create_display (w, h)

让我们选择您想要的任何比例。 例如,无论屏幕尺寸如何,您都可以设置 640x480。 但在宽屏显示器上看起来会很奇怪。 您如何知道要使用哪个比例?

Using Allegro 5, how do initialize a game in fullscreen mode so that it respects the format of the screen (widescreen 16:9 vs normal 3:4)

al_create_display (w, h)

Let's you select any ratio you want. For example you can set 640x480, regardless of the screen size. But it will look weird on a widescreen monitor.
How do you know which ratio to use?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

送君千里 2024-08-06 17:41:16

嗯,我也可以回答这个问题 - 使用 al_get_monitor_info()。

al_get_monitor_info(0, &info);
w = info.x2 - info.x1; /* Assume this is 1366 */
h = info.y2 - info.y1; /* Assume this is 768 */
al_create_display(w, h);

现在,您可以在以 1366x768 为中心的 640x480 矩形中渲染所有内容,使其看起来像素完美,或者将图形放大 768/480 并在左侧和右侧保留两个黑条。 如果您使用 OpenGL 进行渲染,则只需更改投影矩阵即可轻松完成这两个任务。

Hm, I can answer this as well - use al_get_monitor_info().

al_get_monitor_info(0, &info);
w = info.x2 - info.x1; /* Assume this is 1366 */
h = info.y2 - info.y1; /* Assume this is 768 */
al_create_display(w, h);

Now you can either render everything in a 640x480 rectangle centered within 1366x768 to make it appear pixel-perfect, or alternatively scale your graphics up by 768/480 and keep two black bars to the left and right. If you use OpenGL for rendering, both are very easy to do by simply altering the projection matrix.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文