haskell.g.hatena.ne.jp/horaguchi

2008-09-24

cabal install Yampa して TTSY さんのサンプルを実行 22:11 はてなブックマーク -  cabal install Yampa して TTSY さんのサンプルを実行 - haskell.g.hatena.ne.jp/horaguchi

cabal-install を入れたので、

cabal install Yampa

Yampa0.9.2.1)がインストールできました。

そこで、YampaとGLUTでmonadiusのタイトル画面みたいに文字列を少しずつ表示してみた(まだ文字列一つだけ) を実行してみました。


GLUT 版を YampaGLUT.hs として保存した後、ghc YampaGLUT.hs としましたが fake: undefined reference to がたくさん出るので、

揺動散逸日記 Arrow調査 暇つぶし編 を参考に

ghc --make YampaGLUT.hs

としたら実行ファイルができました。Windows Vista で実行すると、

GLUT: Fatal Error in YampaGLUT.exe: redisplay needed for window 1, but no display callback.

というエラーが出たので ゲームをつくろう その3 ライフゲーム - bowmoq を参考に

$ diff -u YampaGLUT.hs.orig YampaGLUT.hs
--- YampaGLUT.hs.orig
+++ YampaGLUT.hs
@@ -13,9 +13,12 @@
   createWindow "monadius"
   rh <- reactInit initVal actuate (sf "Monadius")
   addTimerCallback 16 (timer rh)
+  displayCallback $= display
   initMatrix
   mainLoop

+display = return ()
+
 timer rh = addTimerCallback 16 $ timer rh >> react rh (1, Just ()) >> return ()

 initMatrix :: IO ()

のように、displayCallback を付け足したら動きました。

トラックバック - http://haskell.g.hatena.ne.jp/horaguchi/20080924