【发布时间】:2021-02-07 02:16:39
【问题描述】:
在 PL 课上,我们被要求在 Gloss 中制作一个 pacman 克隆,但我在制作地图时遇到了困难。
我的方法是采用经典 pacman 第一级的 .png,并将其粘贴到渲染函数中,这样我就不需要手动绘制所有内容了。
尽管如此,游戏会严重滞后,我假设这是因为游戏在每一步都会渲染地图。
有没有办法将地图一次渲染为背景,或者避免巨大的延迟?还是我采取了不好的方法,如果我使用Picture 模块手动绘制组件会更好?
我附加了渲染函数,以防我接线不好:
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
【问题讨论】: