COCOS2DX Beginer's Guid
COCOS2DX Beginer's Guidを読み進めていますが、書籍のバージョンと最新バージョンでは差異がある模様。 スクリーンサイズなどの違いによって利用するリソースファイルを使い分けたい場合、読み込むリソースディレクトリを指定します。
本だと以下のようになっていますが
CCSize screenSize = pEGLView->getFrameSize(); if(screenSize.height > 768){ CCFileUtils::sharedFileUtils()->setResourceDirectory("ipadhd"); } else{ CCFileUtils::sharedFileUtils()->setResourceDirectory("ipad"); }
cocos2dx-2.1.1からsetResourceDirectoryがdeprecatedされCCFileUtils::setSearchPathを使用するようになっています。 setSearchPathはstring型のベクタークラスを引数にとります。
std::vector<std::string> resDirOrders; if (screenSize.height > 768) { resDirOrders.push_back("resources-ipadhd"); }
また、ファイルパスの取得方法も変わっています。 オーディオファイルの読み込みは、CCFileUtils::fullPathFromRelativePathを使ってファイルのパスの取得を行っていましたが、
SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("background.mp3")); SimpleAudioEngine::sharedEngine()->preloadEffect( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("bombFail.wav") );
fullPathFromRelativePathがdeprecatedされCCFileUtils::fullPathForFilenameでのパスの取得に成っています。
SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic((CCFileUtils::sharedFileUtils()->fullPathForFilename("background.mp3")).c_str()); SimpleAudioEngine::sharedEngine()->preloadEffect((CCFileUtils::sharedFileUtils()->fullPathForFilename("bombFail.wav")).c_str());