diff options
Diffstat (limited to 'Render.hs')
-rw-r--r-- | Render.hs | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -9,6 +9,9 @@ import Tank import Control.Monad.State +import Data.Fixed +import Data.Ratio + import Graphics.Rendering.OpenGL.GL (($=), GLfloat) import Graphics.Rendering.OpenGL.GL.BeginEnd (renderPrimitive, PrimitiveMode(..)) import Graphics.Rendering.OpenGL.GL.CoordTrans (matrixMode, MatrixMode(..), viewport, Position(..), Size(..), loadIdentity, ortho) @@ -38,13 +41,16 @@ resize w h = do render :: Game () render = do tank <- liftM head $ gets tanks - let x = posx tank - y = posy tank + let x = toFloat . posx $ tank + y = toFloat . posy $ tank liftIO $ do clear [ColorBuffer] renderPrimitive Triangles $ do - vertex $ Vertex2 (x-0.5 :: GLfloat) (y+0.5 :: GLfloat) + vertex $ Vertex2 (x-0.5 :: GLfloat) (y-0.5 :: GLfloat) vertex $ Vertex2 (x+0.5 :: GLfloat) (y+0.5 :: GLfloat) vertex $ Vertex2 (x+0.5 :: GLfloat) (y-0.5 :: GLfloat) + +toFloat :: Real a => a -> GLfloat +toFloat = fromRational . toRational
\ No newline at end of file |