Библиотека Haskell для 2D-чертежа
В основном я хочу создать полноэкранное окно и нарисовать текст на нем разными цветами и размерами (а также обновить экран). Я использовал pygame для этого в python, и я ищу подобную библиотеку (должен быть довольно прост в использовании).
+1, если он также обрабатывает ввод...
Ответы
Ответ 1
Если вы ищете специализированную библиотеку игр, у вас есть несколько вариантов, которые вы можете найти здесь здесь. FunGEn, вероятно, ваш лучший вариант из этих библиотек. Тем не менее, ваш вопрос, похоже, предполагает, что игровая библиотека будет немного перегружена, если все, что вы хотите сделать, это рисовать текст и получать входные данные. В этом случае вы можете выбрать что-то более простое, например HOpenGL или hsSDL. Есть также несколько других библиотек, перечисленных здесь.
Изменить: после немного большего количества исследований вы можете использовать haskgame. Я никогда не использовал его сам, но похоже, что он получил несколько функций здесь, которые делают именно то, что вы ищете.
Ответ 2
Вместо того, чтобы выбирать отдельные библиотеки, я расскажу о них в кратком обзоре, как указано в Графика раздела Hackage.
Основные рамки:
OpenGL
GTK
cabal install cairo
QTHaskell
- Относительно мало использования, но когда оно используется, оно используется особенно.
- Не в Hackage, нашел здесь, из-за проблем с С++
- Известные пользователи: Nikki and the Robots - коммерческая игра.
SDL
cabal install sdl
X11
cabal install X11
Пользовательские интерфейсы Venerable Unix.
Примеры: xmonad.
GD
cabal install gd
Графическая система GD. Пакет для взлома.
Примеры: wordcloud, sparklines.
HOgre
cabal install hogre
Привязка к игре Ogre графическая система.
Теперь, помимо этих игровых слоев, существует множество рамок и инструментов более высокого уровня:
Диаграмма
cabal install diagrams
2D векторные диаграммы (например, для математики), построенные на каире.
Блеск
cabal install gloss
2D-графика, очень простой интерфейс, относительно новый. См. Комментарий TomMD.
Cal3D
cabal install cal3d
Привязки к пакету анимации Cal3D .
Классная
cabal install chalkboard
Комбинаторы на основе OpenGL для генерации изображений, используемых в обучении.
TeaHS
cabal install TeaHS
Простая библиотека для создания 2D-игр, вдохновленная Ruby library Tea.
Ответ 3
Я бы рекомендовал новую Gloss library как простой способ получить хорошие результаты.
Блеск скрывает боль от рисования простых векторная графика за приятными данными тип и несколько функций отображения. Gloss использует OpenGL и GLUT под капюшон, но вам не придется беспокоиться о любом из них. Получите что-нибудь классное на экране менее чем за 10 минут.
Есть также красивые примеры, например:
![hello world]()
![enter image description here]()
и хороший пример построения флокирующих симуляторов
В качестве альтернативы, если это векторы и текст, которые вы хотите манипулировать, пакет diagrams поверх каира может дать очень хорошие результаты.
Ответ 4
Вы можете использовать Qt. Это то, что использует кросс-платформа Никки и Роботы. Вы можете увидеть их исходный код и посмотреть, что они делают.