我基本上想要创建一个全屏窗口并在其上绘制不同颜色和大小的文本(并且还更新屏幕)。我在python中使用了pygame,我正在寻找一个类似的库(应该很容易使用)。
+1,如果它也处理输入......
答案 0 :(得分:65)
如Graphics section on Hackage中列出的那样,我将快速浏览所有这些库,而不是选择单个库。
基本框架:
<强>的OpenGL 强>
<强> GTK 强>
cabal install cairo
<强> QTHaskell 强>
<强> SDL 强>
cabal install sdl
<强> X11 强>
cabal install X11
尊敬的Unix用户界面。
示例:xmonad。
<强> GD 强>
cabal install gd
GD图形系统。 Package on hackage
示例:wordcloud,sparklines。
<强> HOgre 强>
cabal install hogre
绑定到食人魔游戏graphics system。
现在,除了这些游戏层,还有许多更高级别的框架和工具:
<强>图表强>
cabal install diagrams
基于cairo构建的2D矢量图(例如用于数学)。
<强>光泽强>
cabal install gloss
2D图形,非常简单的界面,相对较新。请参阅TomMD的评论。
<强>了Cal3D 强>
cabal install cal3d
绑定到Cal3D animation package。
<强>黑板强>
cabal install chalkboard
基于OpenGL的组合器,用于生成图像,用于教学。
<强> TeaHS 强>
cabal install TeaHS
用于创建2D游戏的简单库,受Ruby library Tea的启发。
答案 1 :(得分:19)
如果您正在寻找专业的游戏库,您可以找到许多选项here。 FunGEn可能是这些库中最好的选择。但是,你的问题似乎暗示游戏库会有点矫枉过正,如果你想做的就是绘制文本并接收输入。在这种情况下,您可以选择更简单的内容,例如HOpenGL或hsSDL。还列出了其他几个库here。
编辑:经过一番研究后,您可能会使用haskgame做得很好。我自己从未使用它,但看起来它有一些功能here可以完全满足您的需求。
答案 2 :(得分:16)
我建议使用新的Gloss library作为获得良好结果的简便方法。
光泽隐藏了绘图简单的痛苦 矢量图形背后一个很好的数据 类型和一些显示功能。 Gloss使用OpenGL和GLUT 引擎盖,但你不必担心 关于任何这些。搞点凉爽 在10分钟内在屏幕上显示。
还有nice examples,例如:
的一个很好的示例
或者,如果它是您想要操作的向量和文本,则cairo顶部的diagrams包可以产生非常好的结果。
答案 3 :(得分:3)
你可以使用Qt。这就是跨平台Nikki And The Robots正在使用的内容。您可以查看他们的源代码并查看他们正在做的事情。