2013-03-14 61 views
0

我想用cocosbuilder和cocos2d-x來開發我的新老iPhone手機遊戲。我想爲兩個分辨率創建一個文件。我創建了一個ccb文件,然後將它發佈到視網膜和正常分辨率。一切都很正常,但現在我有兩個名稱相同的PNG文件:cocosbuilder同名的兩個文件

發佈-IOS /資源 - iphone/star.png

發佈-IOS /資源-iphonehd/star.png

有是一個問題。我使用Xcode,它不喜歡項目中具有相同名稱的2個文件。我可以將這些文件添加到獨立組中的項目中,但在最終應用程序捆綁中,可能只有一個star.png文件。它是隨機選擇的。當我在iphone 4s上啓動我的應用程序時,我從舊iphone顯示屏上獲取圖片。如何將cocosbuilder用於多種分辨率?

回答

0

你應該導入資源,iphone和資源,iphonehd在您的Xcode項目作爲文件夾引用,而不是羣體目錄。您可以通過將文件夾拖放到您的XCode項目上來完成此操作。當你這樣做時,你會看到目錄出現在你的應用程序包中。您可以通過選擇您的應用程序的目標並進入Build Phases-> Copy Bundle Resources來檢查。

之後,在您的ApplicationDelegate.cpp文件中,您應該將這些文件夾添加到CCFileUtils的搜索路徑列表中。

std::vector<std::string> resDirOrders; 

if (resolution is iphone) 
{ 
    resDirOrders.push_back("resources-iphone"); 
} 
else if (resolution is iphone retina) 
{ 
    resDirOrders.push_back("resources-iphonehd"); 
    resDirOrders.push_back("resources-iphone"); 
} 

CCFileUtils::sharedFileUtils()->setSearchResolutionsOrder(resDirOrders); 

這是處理根據的cocos2d-X開發者(簽出this article)多種分辨率的推薦方法。您可以使用CCDirector的窗口大小來確定當前分辨率。在iphonehd的情況下,我包括非視網膜文件夾以及後備。

+0

謝謝 - 它的工作很棒:) – Tomasz 2013-03-22 10:19:39

0

Xcode和iOS應用程序捆綁不在文件夾中組織,而是平面捆綁。你需要重命名你的文件才能正常工作。我建議是這樣的:

// iOS Standard 
Published-iOS/resources-iphonehd/[email protected] 

或本

// cocos-2d Standard 
Published-iOS/resources-iphonehd/star-hd.png 
相關問題