在Visual Studio中的解决方案资源管理器中组织项目文件

时间:2011-08-31 21:43:26

标签: c++ visual-studio visual-studio-2010 winapi project-management

我正在制作我的第一款D3D简单游戏。我的游戏使用了很多图像。

这是我在磁盘上的组织:

MyGame
|
|-Debug
|-Release
|-Assets
  |-Others
  |-Images
|All cpp and h fiels here

如果我从Visual Studio启动游戏,则游戏正在运行。但是,如果我从Windows启动游戏(通过单击 Release 文件夹中的EXE文件),我会收到一条错误消息,表明我的应用程序无法加载图像。这是因为在我的应用程序中,我引用的是像“Assets \ Images \ image.bmp”这样的图像。

我应该如何组织我的项目?

现在我必须复制 Release 文件夹和主项目文件夹中的 Assets 文件夹。

2 个答案:

答案 0 :(得分:3)

我认为你的项目组织得很好;我的建议是,而不是依赖于某个目录结构,只需要app.config或其他XML .config文件设置,或者可能是注册表设置(但不要这样做)或环境变量(MY_GAME_ASSETS="C:\path\to\assets" ),或者甚至可以在启动游戏时设置的命令行参数(MyGame.exe --assets-dir="c:\path\to\assets\");然后你可以指向正确的目录,无论它在哪里。

答案 1 :(得分:1)

@ shelleybutterfly的答案的另一种可能性是总是相对地引用图像,例如作为“.. \ Assets \ Images \ abcde.bmp”。然后在部署时,只要相对关系仍然相同,就可以将可执行文件放在同一种结构中。

e.g。项目:

MyGame
|-Debug
|-Release
|-Assets
  |-Others
  |-Images

e.g。部署:

C:\Program Files\MyGame
|-Bin (contains *.exe)
|-Assets
  |-Others
  |-Images