我想在游戏背景中循环播放GIF图像(例如,使用Gloss Juicy或模块Codec.Picture.Gif)
设法使用这样的BMP图像:
image :: IO Picture
image = loadBMP "image.bmp"
但是现在我要对GIF图像执行相同的操作:
loadGifFile :: FilePath -> IO Image
loadGifFile = "image.gif"
无法正常工作。
感谢任何技巧。
答案 0 :(得分:2)
您将不得不做更多的工作。 loadBMP
只是将BMP文件加载到位图中,该位图是单个图像。但是,动画GIF是一种更复杂的文件格式,其中包含多个帧。 GLOSS根本不支持该功能。
您可以使用JuicyPixels解码GIF文件,然后编写一些代码将其转换为GLOSS位图列表。然后使用animate
依次绘制这些图像。