gpt4 book ai didi

haskell - 将 Sprite 包含到二进制文件中——Gloss 库

转载 作者:行者123 更新时间:2023-12-02 14:16:06 25 4
gpt4 key购买 nike

我正在尝试在 Haskell 中制作一个 flappy 小鸟游戏,我想知道是否有办法将 .bmp 文件“编译”为二进制文件?所以我只能共享可执行文件,不需要包含 Sprite 的文件夹。

我正在使用gloss-1.13.0.1并将bmp加载为

bg0Pic = unsafePerformIO . loadBMP $ "bg0.bmp"

我知道 unsafePerformIO 不是一个好的做法,但这不是我关心的问题。我应该使用不同的方法以便编译器知道我需要该图像还是没有办法做到这一点?

可以在 GitHub 上找到完整代码

最佳答案

您可以使用 file-embed 包,它使用 Template Haskell 来嵌入文件。

https://www.stackage.org/package/file-embed

例如:

sprites :: ByteString
sprites = $(embedFile "images/sprites.png")

wordsPic :: Picture
wordsPic = fromMaybe mempty
(either (\_ -> Nothing) Just (decodeImage sprites)
>>= fromDynamicImage)

关于haskell - 将 Sprite 包含到二进制文件中——Gloss 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55026330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com