From 83f0606ea9dfd6b493097dc97330055dff4a2867 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Fri, 24 Jun 2011 21:50:32 +0200 Subject: Added Transformable class to simplify collision calculation --- src/Render.hs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src/Render.hs') 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 -- cgit v1.2.3