Подтвердить что ты не робот

Библиотека Haskell для 2D-чертежа

В основном я хочу создать полноэкранное окно и нарисовать текст на нем разными цветами и размерами (а также обновить экран). Я использовал pygame для этого в python, и я ищу подобную библиотеку (должен быть довольно прост в использовании).

+1, если он также обрабатывает ввод...

4b9b3361

Ответ 1

Если вы ищете специализированную библиотеку игр, у вас есть несколько вариантов, которые вы можете найти здесь здесь. FunGEn, вероятно, ваш лучший вариант из этих библиотек. Тем не менее, ваш вопрос, похоже, предполагает, что игровая библиотека будет немного перегружена, если все, что вы хотите сделать, это рисовать текст и получать входные данные. В этом случае вы можете выбрать что-то более простое, например HOpenGL или hsSDL. Есть также несколько других библиотек, перечисленных здесь.

Изменить: после немного большего количества исследований вы можете использовать haskgame. Я никогда не использовал его сам, но похоже, что он получил несколько функций здесь, которые делают именно то, что вы ищете.

Ответ 2

Вместо того, чтобы выбирать отдельные библиотеки, я расскажу о них в кратком обзоре, как указано в Графика раздела Hackage.

Основные рамки:

OpenGL

GTK

cabal install cairo
  • Используется для высококачественной двухмерной графики/векторной графики.
  • В Hackage
  • Примеры: diagrams, 4blocks, gameclock

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. Это то, что использует кросс-платформа Никки и Роботы. Вы можете увидеть их исходный код и посмотреть, что они делают.