简单的Haskell图形库?

Sta*_*ked 14 graphics haskell

我想尝试一下Haskell,我希望能够编写一个小型的2D街机游戏(俄罗斯方块或突破).你能推荐一个简单的图形库来帮助我快速入门吗?

顺便说一下,我一直在试验SDL和wxWidgets,但由于依赖性问题,还没有成功运行任何样本,正在努力...

rtp*_*son 11

它不是一个"简单"的库,但是有很多关于OpenGL和GLUT的信息,以及一些非常好的教程和大量的示例代码.

您遇到的最大问题是Haskell中的OpenGL和GLUT绑定不包含它们绑定的库.(对于wxWidgets也是如此.)许多Linux发行版捆绑了OpenGL二进制文件,但不包括Windows.该哈斯克尔平台本来是要解决这个问题,但它似乎对我没有.

所以,假设你在Windows上安装,这是我建议你尝试的:

  1. 按照本博客中的说明进行操作.它们很复杂 - 涉及安装MinGW,MSys以及从SourceForge手工编译GLUT项目,但这是我使OpenGL工作的唯一方法.我现在已成功安装在三台独立的机器上,包括XP和Vista,所以我可以肯定地说这些是非常好的方向.
  2. 一旦它工作,请查看这两个 很棒的教程.他们真的让我看到了Haskell在图形方面的强大功能.您会发现所涉及的代码比您预期的要简单得多.
  3. 查看Haskell OpenGL页面上的示例游戏.它们非常具有实验性 - 这很好,因为它意味着需要的代码少于生产系统中的代码 - 但它们也非常复杂.(是的,已经有多个基本的俄罗斯方块实现,但不要让它阻止你.)
  4. 另一个很好的示例代码源是Haskell的GLUT绑定本身.查找examples目录,您将从OpenGL Red Book中找到许多示例代码端口.

OpenGL是非常有状态的,所以如果你尚未完全使用Monads,你可能会发现Haskell代码有点令人生畏.我正在使用我的OpenGL实验作为动机,最终围绕这个概念.

祝好运!