我为复古风格的2D游戏引擎制定了大部分逻辑,但我不知道如何显示其输出。
基本上它会生成一个低分辨率位图,其逻辑类似于大多数系统所做的(使用精灵,调色板等)。由于我还没有学过DirectX或者类似的东西,我没有hdea如何才能显示其输出并定期更新(与VSync相关联?)。我和D一起工作,但如果你知道C或C ++也没关系。
编辑:好的,我正在重写它以使用SDL。我该如何制作输出格式?使用数据创建数组?答案 0 :(得分:4)
了解SDL2。它是跨平台游戏的事实上的标准(目前主要由Valve开发)。如果您以后想要使用OpenGL或D3D,它也可以用作基础。请注意,在D社区中,OpenGL非常受欢迎并且得到了很好的支持。
要将位图实际放在屏幕上,您只需将其复制到SDL屏幕,或使用OpenGL / D3D,将其复制到纹理中并在2个三角形上显示该纹理。但我认为简单的SDL在你的情况下应该足够了。
This seems like what you need (但您可能需要缩放位图以匹配窗口/屏幕大小)
D有Derelict(@github)(how to use with DUB)项目,其中包含与SDL,OpenGL,各种SDL扩展(SDL-TTF, SDL-Mixer,SDL-Image等 - 包含在SDL绑定中),FreeType(字体),Assimp(3D模型格式)等。绑定被设计为与原始C / C ++库相同,它们可能不如纯D-style包装器好,但它意味着仍然可以使用这些库的C / C ++教程。
我还用SDL / Derelict / GFM制作了一个小tutorial(GFM是一个更D风格的库),但由于GFM现在正在进行中,因此教程可能已经有点过时了。另一方面,废弃现在已经稳定并维持了10多年。
编辑:添加了更多链接 EDIT2:关于实际显示输出的注意事项
答案 1 :(得分:1)