とりあえず画像表示できた。
これをベースに色々実験してみる予定。
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