我目前正在使用Allegro 5作为我的图形库在C ++中开展视频游戏项目。我将图形和字体资源存储在.exe的根文件夹中的子文件夹中。要在程序中使用它们,我有一个initGraphics()函数,它通过al_load_bitmap()加载所有必需的资源,然后使用al_destroy_bitmap()释放内存。然而,这意味着当我最终分发我的游戏时,任何人都可以轻松地进入安装文件夹,只需将图形编辑为任何东西,而且我无法找到任何关于如何防止这种情况的帮助。 我想的可能是某种程序,我会在分发之前在我自己的计算机上运行,加载适当的图形资源,并以某种方式将它们转换为.txt文件,然后更改主游戏可执行文件的'initGraphics()'函数加载和使用那些而不仅仅是原始.png文件,但我不确定这是否可行。关于这种类型的转换的任何信息都将非常受欢迎,或者更可靠的测试方法可以实现相同的效果。非常感谢你提前!
答案 0 :(得分:0)
在研究互联网时,我找到了有趣的解决方案:
Allegro5使用PhysicsFS库来处理文件存档。它不支持受密码保护的存档,但您可以为资产存档计算md5并将其硬编码到程序中,然后在运行时 (source - see more here)进行比较。
请参阅Allegro5的this部分文档。
md5实施的示例说明是here