diff --git a/examples/example04.hs b/examples/example04.hs index 4e179bf..9c926f9 100644 --- a/examples/example04.hs +++ b/examples/example04.hs @@ -135,7 +135,8 @@ drawInit = do ad <- get ud <- getAffection process (nodeGraph ud M.! "sink") - present (GeglRectangle 0 0 3289 600) (foreground ud) True + present (GeglRectangle (round $ cameraX ud) 0 800 600) (foreground ud) True + render Nothing Nothing draw :: Affection UserData () draw = do @@ -181,14 +182,10 @@ update dt = do "rect" (actors ud) let { - offset | xpos - cameraX ud > 750 && cameraX ud + leg < 2489 = - case code of - SDL.KeycodeRight -> leg - _ -> 0 - | xpos - cameraX ud < 50 && cameraX ud - leg > 0 = - case code of - SDL.KeycodeLeft -> (-leg) - _ -> 0 + offset | xpos - cameraX ud > 750 && cameraX ud + leg < 2489 && code == SDL.KeycodeRight = + leg + | xpos - cameraX ud < 50 && cameraX ud - leg > 0 && code == SDL.KeycodeLeft = + (-leg) | otherwise = 0 } putAffection ud