如何显示游戏引擎的输出?

时间:2015-01-08 23:08:16

标签: graphics directx sdl d

我为复古风格的2D游戏引擎制定了大部分逻辑,但我不知道如何显示其输出。

基本上它会生成一个低分辨率位图,其逻辑类似于大多数系统所做的(使用精灵,调色板等)。由于我还没有学过DirectX或者类似的东西,我没有hdea如何才能显示其输出并定期更新(与VSync相关联?)。我和D一起工作,但如果你知道C或C ++也没关系。

编辑:好的,我正在重写它以使用SDL。我该如何制作输出格式?使用数据创建数组?

2 个答案:

答案 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)项目,其中包含与SDLOpenGL,各种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)

只需搜索SDL,SFML或Allegro等库, 我从未尝试过D,但我曾经听说过有人使用过SDL。

编辑:在D

中查看this开源游戏