0

我正在使用SFML 2.0和Visual Studio 2010專業版來創建遊戲。當我在Visual Studio中測試我的遊戲時,它工作得很好,加載所有資源。找到所有資源沒有問題。但是,當我構建我的setup.exe文件並安裝我的遊戲時,部署的版本找不到資源。已部署SFML遊戲未找到資源?

我喜歡這種感覺與在那裏尋找Visual Studio中的資源相比,當它被安裝在系統上做。在Visual Studio中,程序使用項目文件訪問默認目錄中的「res」文件夾。如圖所示here

當我安裝遊戲,我包被旁邊的.exe like-so安裝了「資源」文件夾中。

然而,當我運行部署的遊戲,它無法找到任何資源,因此崩潰。我覺得這是一個真正簡單的解決方法,只是將「res」文件夾放置在不同位置的問題,但我一直在搞這個文件夾一段時間,並且無法使其工作。我在哪裏將「res」文件夾放在安裝程序中?

回答

1

鑑於你還沒有提供任何代碼,我會假設你正在用相對路徑加載你的資源。這意味着您的應用程序將查找相​​對於工作目錄的文件。現在可以更改工作目錄,並且Visual Studio會這樣做,並將其設置爲項目文件所在的位置(默認情況下)。當您現在通過雙擊運行應用程序時,工作目錄就是您應用程序本身所在的位置。因此,您的設置應該可以工作。

但是如果你有一個結合,或者你可以設置中啓動應用程序,你需要確保工作目錄設置是否正確。

另外你也可以改變工作目錄的應用程序中,但是這將需要一些平臺特定的代碼(或例如Boost的文件系統的使用)。