Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graphics 用于二维绘图的Haskell库_Graphics_Haskell_Sdl - Fatal编程技术网

Graphics 用于二维绘图的Haskell库

Graphics 用于二维绘图的Haskell库,graphics,haskell,sdl,Graphics,Haskell,Sdl,我基本上想创建一个全屏窗口,并在其上绘制不同颜色和大小的文本(同时更新屏幕)。我已经在python中使用了pygame,我正在寻找一个类似的库(应该很容易使用) +1如果它也处理输入…如果您正在寻找专门的游戏库,您可以找到许多选项。可能是这些库中最好的选择。然而,您的问题似乎表明,如果您只想绘制文本并接收输入,那么游戏库就有点过头了。在这种情况下,您可以选择更简单的方法,如或。还列出了其他几个库 编辑:再多做一点研究,你可能会很好地使用。我自己从来没有使用过它,但它似乎有一些功能可以完全满足您的

我基本上想创建一个全屏窗口,并在其上绘制不同颜色和大小的文本(同时更新屏幕)。我已经在python中使用了pygame,我正在寻找一个类似的库(应该很容易使用)


+1如果它也处理输入…

如果您正在寻找专门的游戏库,您可以找到许多选项。可能是这些库中最好的选择。然而,您的问题似乎表明,如果您只想绘制文本并接收输入,那么游戏库就有点过头了。在这种情况下,您可以选择更简单的方法,如或。还列出了其他几个库

编辑:再多做一点研究,你可能会很好地使用。我自己从来没有使用过它,但它似乎有一些功能可以完全满足您的需求。

我建议使用新功能,这是一种获得良好效果的简单方法

光泽掩盖了简单绘画的痛苦 矢量图形背后的一个不错的数据 类型和一些显示功能。 Gloss在 胡德,但你不用担心 关于这一切。弄点凉快的 在屏幕上显示,不到10分钟

此外,还包括:

这是一个很好的例子


或者,如果您想处理向量和文本,cairo顶部的包可以产生非常好的结果。

您可以使用Qt。这就是跨平台所使用的。您可以查看它们的源代码,并查看它们在做什么。

我将不选择单个库,而是快速浏览所有库,如中所列

基本框架:

OpenGL

cabal install sdl
  • Haskell平台的一部分
  • 用于许多小型2和3D游戏
  • 例如:
GTK

cabal install cairo
  • 用于高质量二维图形/矢量图形
  • 例如:
QTHaskell

  • 使用相对较少,但使用时,使用效果显著
  • < Hackage >发现,由于C++问题
  • 著名用户:,一款商业游戏
SDL

cabal install sdl
  • 在Hackage上,它被广泛应用于具有2D图形的类似游戏的交互式应用程序
  • 例如:
X11

cabal install X11
久负盛名的Unix用户界面

示例:

GD

cabal install gd
cabal install cal3d
GD图形系统

例如:

霍格雷

cabal install hogre
绑定到食人魔游戏

现在,除了这些游戏层,还有许多更高级别的框架和工具:

图表

cabal install diagrams
cabal install gloss
二维矢量图(例如数学),建立在开罗

  • 示例:
光泽

cabal install diagrams
cabal install gloss
2D图形,界面非常简单,比较新。请参阅TomMD的评论

  • 示例:
Cal3D

cabal install gd
cabal install cal3d
绑定到Cal3D

黑板

cabal install chalkboard
用于生成图像的基于OpenGL的组合器,用于教学

TeaHS

cabal install TeaHS

受.

Gloss的启发,一个用于创建2D游戏的简单库很容易,但它的功能不完整,无法满足教育的预期用途。我在Gloss中制作了一个简单的绘图应用程序,发现它的一些缺陷(坏的文本位置转换,坏的窗口至少在XMonad中调整大小,在Gnome环境中渲染时100%的CPU使用,等等)以及它无法显示和转换图像(例如:PNG、JPG)都会影响它的性能。最后一个已部分解决,它现在可以显示位图。总而言之:我发现Gloss非常简洁易用,但它需要对库本身进行几天的修复和改进。做一些简单的事情可以吗?我想用它来想象一个简单的流氓。最重要的是无缺陷位图绘制(我将使用tiles)。我一直忘记黑板已经更新为编译/运行(它已经坏了一段时间)。吉尔等人干得好,谢谢你的提醒。很棒的列表!Gloss和图表看起来特别有趣,与我想制作的内容相关。感谢所有的答案:我将尝试haskgame和SDL。因此,在将近2年后,您选择了什么作为lib,您做了什么有用的事情吗,2D Haskell的一般体验是什么?@CoR:我使用了hackage提供的SDL和SDL ttf软件包,体验非常棒:我做到了我想做的事情,而且比我预期的要快得多!我现在也少了很多代码,做同样的事情。谢谢。我将要做同样的2D工作,所以很高兴知道SDL在现实世界中工作得很好:)