diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-06-24 21:50:32 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-06-24 21:50:32 +0200 |
commit | 83f0606ea9dfd6b493097dc97330055dff4a2867 (patch) | |
tree | 464d7f3ed2c02f48b6463d1528e3e0b5f50e79c6 /src/Render.hs | |
parent | d7971385e844e24d9d851d3d142895b5cb89c91b (diff) | |
download | htanks-83f0606ea9dfd6b493097dc97330055dff4a2867.tar htanks-83f0606ea9dfd6b493097dc97330055dff4a2867.zip |
Added Transformable class to simplify collision calculation
Diffstat (limited to 'src/Render.hs')
-rw-r--r-- | src/Render.hs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/Render.hs b/src/Render.hs index de61593..abe652e 100644 --- a/src/Render.hs +++ b/src/Render.hs @@ -10,6 +10,7 @@ import Player import Tank import Texture import Model +import qualified Vector as V import Control.Monad.State @@ -148,11 +149,11 @@ render = do forM_ tanklist $ \tank -> unsafePreservingMatrix $ do let x = realToFrac . tankX $ tank y = realToFrac . tankY $ tank - rotDir = realToFrac . tankDir $ tank - rotAim = realToFrac . tankAim $ tank + rotDir = realToFrac . V.toAngle . tankDir $ tank + rotAim = realToFrac . V.toAngle . tankAim $ tank translate $ Vector3 x y (0 :: GLfloat) - rotate rotDir $ Vector3 0 0 (1 :: GLfloat) + rotate (rotDir*180/pi) $ Vector3 0 0 (1 :: GLfloat) textureBinding Texture2D $= Just textureTank @@ -160,7 +161,7 @@ render = do rotate 90 $ Vector3 1 0 (0 :: GLfloat) drawObject modelTank 1 - rotate (rotAim-rotDir) $ Vector3 0 0 (1 :: GLfloat) + rotate ((rotAim-rotDir)*180/pi) $ Vector3 0 0 (1 :: GLfloat) textureBinding Texture2D $= Just textureCannon @@ -174,10 +175,10 @@ render = do forM_ bulletlist $ \bullet -> unsafePreservingMatrix $ do let x = realToFrac . bulletX $ bullet y = realToFrac . bulletY $ bullet - rotDir = realToFrac . bulletDir $ bullet + rotDir = realToFrac . V.toAngle . bulletDir $ bullet translate $ Vector3 x y (0.25 :: GLfloat) - rotate (rotDir-90) $ Vector3 0 0 (1 :: GLfloat) + rotate ((rotDir*180/pi)-90) $ Vector3 0 0 (1 :: GLfloat) unsafePreservingMatrix $ do drawObject modelBullet 0 |