【发布时间】:2019-03-09 16:54:26
【问题描述】:
我正在使用 SDL-2 制作游戏项目,使用 C 编码。IDE 是 Code::Blocks v17.12。我的资产文件夹有问题。
在游戏中包含资产没问题。我是这样放的:
SDL_Surface* temp_surface = IMG_Load("assets/player.png");
当然,这只有在我的项目目录有一个名为“assets”的文件夹时才有效,该文件夹本身有一个名为“player.png”的文件。
问题是在构建项目时情况仍然如此。在我的“Release”文件夹(或我放置构建的任何位置)中,“Assets”必须存在,位于“.dlls”和“.exe”旁边。这是非常次优的。我不希望普通用户如此轻松地查看我的游戏资产。
我尝试通过转到项目 > 构建设置 > 搜索目录 > 资源编译器然后添加我的资产文件夹来解决问题。那没有用,我承认不知道“资源编译器”实际上是做什么的,我只是根据名称进行了猜测。
如果提供解决此问题的唯一可行方法,我愿意切换到 C++。我还没有开始任何项目(只是确定了我的环境和工具),因此我愿意做出很大的改变以使设施正常工作。
【问题讨论】:
-
简单的解决方案:将资产的扩展名更改为其他内容,例如
.asset。另一种解决方案是压缩您的资产,然后将.zip更改为.asset,但您必须在将它们加载到游戏之前先解压缩它们。 -
我承认,我很惊讶 .png 即使变成 .asset 仍然可以正常工作。但是,我仍然必须将 Assets 文件夹与 .exe 一起随身携带,以使它们显示在屏幕上。
标签: c codeblocks assets sdl-2