web-dev-qa-db-ja.com

2D描画用のHaskellライブラリ

私は基本的にフルスクリーンウィンドウを作成し、その上にさまざまな色とサイズでテキストを描画します(画面も更新します)。 python)でこれにpygameを使用しており、同様のライブラリを探しています(かなり使いやすいはずです)。

入力も処理する場合は+1 ...

39
akosch

専門のゲームライブラリを探している場合、いくつかのオプション こちら を見つけることができます。 FunGEn は、おそらくこれらのライブラリーからの最良のオプションです。ただし、あなたの質問は、テキストを描画して入力を受け取ることだけを目的としている場合、ゲームライブラリは少々やり過ぎになることを示唆しているようです。その場合、 HOpenGL または hsSDL のようなより単純なものを選択することができます。他にもいくつかのライブラリ here がリストされています。

編集:もう少し調査した後、 haskgame を使用するとうまくいくかもしれません。私自身はこれを使用したことはありませんが、いくつかの関数があるようです ここ まさにあなたが探しているものを実行します。

19
Jeff Burka

Hackageのグラフィックスセクション にリストされているように、個々のライブラリーを選択する代わりに、すべてのライブラリーを簡単に概観します。

基本的なフレームワーク:

OpenGL

[〜#〜] gtk [〜#〜]

cabal install cairo

QTHaskell

  • 使用量は比較的少ないですが、使用すると顕著に使用されます。
  • C++の問題により、ハッキングではなく、 ここ が見つかりました
  • 主なユーザー: Nikki and the Robots 、商用ゲーム。

[〜#〜] sdl [〜#〜]

cabal install sdl

X11

cabal install X11

由緒あるUnixユーザーインターフェイス。

例: xmonad

Gd

cabal install Gd

Gdグラフィックシステム。 ハッキング時のパッケージ

例: wordcloudsparklines

HOgre

cabal install hogre

Ogreゲームへのバインディング グラフィックシステム

さて、これらのゲームレイヤーに加えて、多くの上位レベルのフレームワークとツールがあります。

cabal install diagrams

cairo上に構築された2Dベクトルダイアグラム(例:数学用)。

光沢

cabal install gloss

2Dグラフィック、非常に簡単なインターフェース、比較的新しい。 TomMDのコメントを参照してください。

Cal3D

cabal install cal3d

Cal3Dへのバインディング アニメーションパッケージ

黒板

cabal install chalkboard

教育で使用される、画像を生成するためのOpenGLベースのコンビネータ。

TeaHS

cabal install TeaHS

RubyライブラリーTea に触発された、2Dゲームの作成に使用するシンプルなライブラリー。

67
Don Stewart

良い結果を得る簡単な方法として、新しい Gloss library をお勧めします。

グロスは、ニースデータ型といくつかの表示関数の背後に単純なベクターグラフィックスを描画する苦労を隠します。 GlossはOpenGLとGLUTを内部で使用していますが、それらについて心配する必要はありません。画面上で10分以内に何かクールなものを手に入れてください。

次のような 素敵な例 もあります。

hello world

enter image description here

そして素晴らしい建物の例 群がっているシミュレーター

あるいは、操作したいベクトルとテキストの場合、カイロの上にある diagrams パッケージを使用すると、非常に良い結果が得られます。

16
Don Stewart

Qtを使用できます。それがクロスプラットフォーム Nikki And The Robots が使用しているものです。あなたは彼らのソースコードを見て、彼らが何をしているかを見ることができます。

3
Theo Belaire