簡體   English   中英

在C ++中獲取Xcode項目的資源

[英]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,並且您可以輕松地添加它

用於添加文件夾http://forums.macrumors.com/showthread.php?t=458594

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM