首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Gloss中制作地图

在Gloss中制作地图
EN

Stack Overflow用户
提问于 2020-10-24 11:46:04
回答 1查看 34关注 0票数 0

在PL课上,我们被要求用Gloss制作一个吃豆人克隆,然而我还是被困在了地图制作上。

我的方法是将经典的“吃豆人”第一关的.png粘贴到渲染函数中,这样我就不需要手工绘制所有的东西了。

然而,通过这样做,游戏落后得很可怕,我假设这是因为游戏在每一步都渲染了地图。

有没有办法只将地图作为背景渲染一次,或者避免巨大的滞后?或者我采用了一种不好的方法,如果我使用Picture模块手工绘制组件会更好吗?

我附加了渲染函数,以防我把它写得很糟糕:

代码语言:javascript
复制
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]

Where pacmanMap :: IO Picture

EN

回答 1

Stack Overflow用户

发布于 2020-10-24 12:52:45

看起来您在每次调用render时都要重新加载文件。您只需运行一次pacmanMap :: IO Picture操作,例如在main中启动时;然后您就可以从render函数返回结果静态Picture。例如,您可以将对当前背景图像的引用存储在PacmanGame中,或者将其作为附加参数传递给render

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64509763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档