【发布时间】:2017-11-07 13:55:11
【问题描述】:
我正在制作一个游戏,为此我使用纹理。这些纹理从 BMP 文件加载到 Gloss 中并提供 IO 图片。
现在我有一个我想要渲染的 IO 图片列表。渲染器拍照,你可以将多张图片合成为一张,有图片
现在
Render :: IO()
texture1 <- loadBMP "D:/t1.bmp"
display window background (pictures [translate 10 50 $ texture1])
作品,但是,我想使用纹理列表。因为这适用于少量数字,但对于 100 个纹理来说它变得太多了。
现在由于某种原因,获取图片的图片功能现在可以与 IO 一起使用,我认为这与 do.
我的问题是,有没有办法把它放到一个函数中?如果都是Picture就好办了,但是因为是IO Picture,不知道怎么弄
类似
func :: [IO Picture] -> [?]
func [] = []
func (x:xs) = do
x' <- x
x' ++ func xs
然后
display window background (pictures func)
【问题讨论】:
-
sequence :: [IO a] -> IO [a]或mapM :: (a -> IO b) -> [a] -> IO [b]。 -
谢谢,就像魅力一样
标签: haskell