アットウィキロゴ
とりあえず画像表示できた。
これをベースに色々実験してみる予定。

 module Main where
 import Data.Word
 import qualified Graphics.UI.SDL as SDL
 import qualified Graphics.UI.SDL.Image as SDLi
 
 gameinit :: IO ()
 gameinit = do
  SDL.init [SDL.InitEverything]
  SDL.setVideoMode 640 480 32 []
   return ()
 
 dispImage :: IO ()
 dispImage = do
   --準備
   screen <- SDL.getVideoSurface
   img <- SDLi.load "ue.png"
   --表示
   SDL.blitSurface img (Just $ SDL.Rect 0 0 100 100) screen Nothing
   SDL.flip screen
   SDL.freeSurface img --画像を解放
 
   --画面が閉じられるまで待機
   e <- SDL.waitEvent
   if e == SDL.Quit then return () else dispImage
 
 main :: IO ()
 main = gameinit >> dispImage >> SDL.quit



拡大/回転

 module Main where
 import Data.Word
 import qualified Graphics.UI.SDL as SDL
 import qualified Graphics.UI.SDL.Image as SDLi
 import qualified Graphics.UI.SDL.Rotozoomer as SDLr
 
 gameinit :: IO ()
 gameinit = do
   SDL.init [SDL.InitEverything]
   SDL.setVideoMode 640 480 32 []
   return ()
 
 dispImage :: IO ()
 dispImage = do
   --準備
   screen <- SDL.getVideoSurface
   imgG <- SDLi.load "OnpuG.png"
   imgBG <- SDLr.rotozoom imgG 180 3 False
 
   --表示
   SDL.blitSurface 
     imgBG (Just $ SDL.Rect 0 0 300 300) 
     screen (Just $ SDL.Rect 170 90 300 300) 
   SDL.flip screen
 
   --画像を解放
   SDL.freeSurface imgG
   SDL.freeSurface imgBG
   
   --画面が閉じられるまで待機
   e <- SDL.waitEvent
   if e == SDL.Quit then return () else dispImage
 
 main :: IO ()
 main = gameinit >> dispImage >> SDL.quit
最終更新:2012年09月15日 20:41