graphics - Biblioteca Haskell para dibujo 2D
sdl (4)
Básicamente, quiero crear una ventana de pantalla completa y dibujar texto en diferentes colores y tamaños (y también actualizar la pantalla). He usado pygame para esto en python y estoy buscando una biblioteca similar (debería ser bastante fácil de usar).
+1 si también maneja la entrada ...
En lugar de elegir bibliotecas individuales, voy a tener una vista general rápida de todas ellas, como se detalla en la sección Gráficos en Hackage .
Marcos básicos:
OpenGL
- Parte de la plataforma Haskell
- Se usa para muchos juegos pequeños de 2 y 3D.
- Ejemplos: lambdacube-engine , roguestar-gl , hpong , monadius , raincat , frag
GTK
cabal install cairo
- Se usa para gráficos / gráficos de vectores de dos días de alta calidad.
- En Hackage
- Ejemplos: diagrams , 4 4blocks , gameclock
QTHaskell
- Relativamente poco uso, pero cuando se usa, se usa notablemente.
- No en Hackage, que se encuentra here , debido a problemas de C ++
- Usuarios notables: Nikki and the Robots , un juego comercial.
SDL
cabal install sdl
- En Hackage, bastante utilizado para juegos, aplicaciones interactivas con gráficos 2D.
- Ejemplos: haskgame , Eternal10Seconds , HTicTacToe , raincat , starrover
X11
cabal install X11
Venerable interfaz de usuario de Unix.
Ejemplos: xmonad .
GD
cabal install gd
El sistema de gráficos GD. Paquete en hackage .
Ejemplos: wordcloud , sparklines .
HOgre
cabal install hogre
Vinculaciones al sistema de gráficos del juego Ogre.
Ahora, además de estas capas de juego, hay muchos marcos y herramientas de alto nivel:
Diagramas
cabal install diagrams
Diagramas de vectores 2D (por ejemplo, para matemáticas), construidos en El Cairo.
- Ejemplos: fractals .
Brillo
cabal install gloss
Gráficos 2D, interfaz muy fácil, relativamente nuevo. Ver el comentario de TomMD.
- Ejemplos: flocado funcional
Cal3D
cabal install cal3d
Vinculaciones al paquete de animación Cal3D.
Pizarra
cabal install chalkboard
Combinadores basados en OpenGL para generar imágenes, utilizadas en la enseñanza.
TeaHS
cabal install TeaHS
Una biblioteca simple para usar creando juegos en 2D, inspirada en la biblioteca Ruby Tea .
Puedes usar Qt. Eso es lo que usa la plataforma cruzada Nikki And The Robots . Puedes ver su código fuente y echar un vistazo a lo que están haciendo.
Recomendaría la nueva biblioteca Gloss como una manera fácil de obtener buenos resultados.
Gloss oculta el dolor de dibujar gráficos vectoriales simples detrás de un buen tipo de datos y algunas funciones de visualización. Gloss usa OpenGL y GLUT debajo del capó, pero no tendrá que preocuparse por nada de eso. Obtenga algo interesante en la pantalla en menos de 10 minutos.
También hay buenos ejemplos , como:
y un buen ejemplo construyendo simuladores de flocado
Alternativamente, si se trata de vectores y texto que desea manipular, el paquete de diagrams en la parte superior de cairo puede arrojar muy buenos resultados.
Si está buscando una biblioteca de juegos especializada, tiene varias opciones que puede encontrar here . FunGEn es probablemente tu mejor opción fuera de esas bibliotecas. Sin embargo, su pregunta parece sugerir que una biblioteca de juegos sería un poco exagerada, si todo lo que busca es dibujar texto y recibir comentarios. En ese caso, puede optar por algo más simple como HOpenGL o hsSDL . También hay varias otras bibliotecas enumeradas here .
Editar: después de un poco más de investigación, puede hacerlo bien usando haskgame . Nunca lo he usado, pero parece que aquí tiene algunas funciones que hacen exactamente lo que estás buscando.