Portability | non-portable |
---|---|
Stability | provisional |
Maintainer | Fumiaki Kinsohita <fumiexcel@gmail.com> |
Safe Haskell | None |
The essentials of using free-game
- type Game = Free GameAction
- defaultGameParam :: GameParam
- runSimple :: GameParam -> world -> (world -> Game world) -> IO ()
- drawPicture :: MonadFree GameAction m => Picture -> m ()
- askInput :: MonadFree GameAction m => Key -> m Bool
- getMouseState :: MonadFree GameAction m => m MouseState
- embedIO :: MonadFree GameAction m => IO a -> m a
- quitGame :: MonadFree GameAction m => m a
- tick :: MonadFree GameAction m => m ()
- untickGame :: Game a -> Game (Game a)
- data Picture
- loadBitmapFromFile :: FilePath -> IO Bitmap
- data Vec2 = Vec2 !Float !Float
- loadFont :: FilePath -> IO Font
- text :: Font -> Float -> Color -> String -> Picture
- randomness :: (Random r, MonadFree GameAction m) => (r, r) -> m r
- module Graphics.FreeGame.Input
- module Graphics.FreeGame.Data.Color
Basic type
Run the game
defaultGameParam :: GameParamSource
640*480(windowed), 60fps
:: GameParam | |
-> world | An initial world |
-> (world -> Game world) | A computation yielding new world |
-> IO () |
Run a Game
by the given initial state and updating function.
In the Game monad
drawPicture :: MonadFree GameAction m => Picture -> m ()Source
Draw a Picture
.
getMouseState :: MonadFree GameAction m => m MouseStateSource
Get the mouse's state.
quitGame :: MonadFree GameAction m => m aSource
Break the current computation.
tick :: MonadFree GameAction m => m ()Source
Finalize the current frame and refresh the screen.
About Picture
A 2D Picture.
BitmapPicture Bitmap | |
Pictures [Picture] | A picture consist of some |
IOPicture (IO Picture) | A picture that may have side effects. |
Rotate Float Picture | Rotated picture by the given angle (in degrees, counterclockwise). |
Scale Vec2 Picture | Scaled picture. |
Translate Vec2 Picture | A picture translated by the given coordinate. |
Colored Color Picture | Colored picture. |
data Vec2
Drawing texts
Utilities
randomness :: (Random r, MonadFree GameAction m) => (r, r) -> m rSource
Get a given range of value.
Reexports
module Graphics.FreeGame.Input
module Graphics.FreeGame.Data.Color