【问题标题】:C++ & Allegro 4.2 - I need graphics to stretch in windowed modeC++ & Allegro 4.2 - 我需要在窗口模式下拉伸图形
【发布时间】:2013-04-10 23:51:21
【问题描述】:

我正在使用 C++ 和 Allegro 4.2 来构建一个 windows 游戏。

我想要窗口模式下的可拉伸图形。

我喜欢为我的程序的用户提供很多选择;当我在窗口模式下玩游戏时,我总是讨厌,我要么不允许拉伸窗口,要么窗口内的内容不会随之拉伸(这对于在高分辨率屏幕上玩的 640x480 尺寸的游戏来说很糟糕甚至不允许全屏播放;需要放大工具才能正确播放)。我想知道 Allegro 中是否有某种方法,或者是否有另一个编程库允许图形随着窗口本身的形状进行拉伸。我已经知道如何让我的 Allegro 应用程序切换到全屏模式;我正在尝试改进窗口模式。

一个很大的原因是因为我的艺术风格是低分辨率艺术(我称之为“位图兄弟”风格);它非常适合游戏,因为它有条理且易于编辑。我不想超过 640x480 来增加尺寸,因为它对于低分辨率艺术作品来说太高了,但是在窗口模式下我的窗口仍然太小。

我注意到 Allegro 5.0.8 有这行代码: al_set_new_display_flags(ALLEGRO_WINDOWED | ALLEGRO_RESIZABLE);

最后显示“ALLEGRO_RESIZABLE”,这可能是我正在寻找的功能吗?如果是这样,Allegro 从 4.2 到 5+ 的变化有多大?

【问题讨论】:

    标签: c++ pixel stretch allegro windowed


    【解决方案1】:

    Allegro 4 不支持用户可调整大小的窗口。

    Allegro 5 确实如此(正如您所指出的),但它被完全重写并且根本不向后兼容。尽管如此,我还是强烈建议您切换到它,因为 Allegro 4 的开发几乎已经结束。

    【讨论】:

    • 我认为可调整大小的窗口也可以拉伸图形?
    • 在 Allegro 5 中,当调整显示大小时,您会收到一个事件通知。如果您不承认调整大小,我相信图形仍然被拉伸,尽管它可能没有记录在案的行为。如果您不想依赖这种行为,那么设置一个全局转换将所有绘图操作缩放或“裁剪”到所需大小是很简单的。
    • 好吧,我会尝试升级到 Allegro 5,看看结果如何。您知道是否有任何其他库或编程方法可以让我进一步了解此功能?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    • 2014-06-17
    • 2015-11-27
    • 2013-03-21
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多