graphics haskell sdl

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

GTK

cabal install cairo

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

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.

Brillo

cabal install gloss

Gráficos 2D, interfaz muy fácil, relativamente nuevo. Ver el comentario de TomMD.

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.