[英]Getting an Xcode project's resources in c++
我正在Xcode中使用SFML編寫一個簡單的游戲。 我有一個要在精靈中使用的塊的.png文件。 此刻,我必須在下面的代碼片段中鍵入圖像的完整路徑:
sf::Image blockImage;
if (!blockImage.LoadFromFile("/Users/me/Development/Tetris/images/block.png")) {
cerr << "Could not load block image." << endl;
App.Close();
}
我寧願不必這樣對游戲中每個圖像的位置進行硬編碼。 我知道Xcode項目可以具有“資源”,但是我以前從未使用過它,從我對Google的了解來看,它僅對使用Apple框架的項目很重要。 我可以將圖像添加為資源嗎? 我實際上如何獲得它的位置並在我的代碼中使用它?
謝謝!
您的問題尚不清楚,但我會盡力解釋:
就操作系統而言,Resources只是應用程序捆綁包中的一個文件夾,唯一與眾不同的是,當應用程序啟動時,Resources文件夾是默認文件路徑(稱為工作目錄)。
這意味着,如果您的應用程序資源文件中包含圖片,則可以使用以下方式加載該圖片:
blockImage.LoadFromFile("/Developer/MyApp/build/Development/Tetris.app/Contents/Resources/block.png");
要么
blockImage.LoadFromFile("block.png");
使用此調用時,操作系統會檢查block.png是否在硬盤驅動器的根目錄中,但找不到它,然后檢查工作目錄*
如果要更改工作目錄,可以使用通用的unix函數
chdir(const char *path);
Mac OS X中的哪個包含來自:
#include <unistd.h>
Arjit所指的是Xcode中的一項便捷功能,您可以在任何給定目標中進行復制文件的構建階段,並使其將文件甚至文件夾復制到應用程序的Resources文件夾中。
希望這可以清除一切!
*它可能實際上首先檢查工作目錄,不確定。
我認為,當您右鍵單擊該項目時,它可以選擇添加資源並添加現有的ITem,並且您可以輕松地添加它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.