在 PL 课上,我们被要求用Gloss制作一个 pacman 克隆,但我在制作地图时遇到了困难。
我的方法是采用经典 pacman 第一级的 .png,并将其粘贴到渲染函数中,这样我就不需要手动绘制所有内容。
尽管如此,通过这样做,游戏会严重滞后,我假设这是因为游戏在每一步都渲染了地图。
有没有办法将地图一次渲染为背景,或者避免巨大的滞后?还是我采取了不好的方法,如果我使用图片模块手动绘制组件会更好?
我附加了渲染功能,以防万一我接线不好:
render :: PacmanGame -> IO Picture
render game = do
sprite <- fmap (head) (playerSprites $ player game)
let playerOne = uncurry translate (playerPos $ player game) $ sprite
map' <- pacmanMap
return $ pictures [map', playerOne]
在哪里pacmanMap :: IO Picture