iPad, iPad Retina で表示がおかしい…
どうしても気になって、テスト…
Cocoa部 – Cocos2d-x:絶対にわかるマルチ解像度(マルチディスプレイ)対応
http://cocoabu.com/multi-resolution
…まさか…
iPhone Retina はちゃんとできたけど… いや、まさか…
iPad(非Retina)で以下を試してみる事に…
director->setContentScaleFactor(2.0f);
なるほど、期待した感じに。 ^^;
ってことは iPad Retina は director->setContentScaleFactor(4.0) とすればイケルか ^^
ってことで、チュートリアルのコードはこんな感じに自己解釈しました。
{ auto fileUtils = FileUtils::getInstance(); auto screenSize = glview->getFrameSize(); std::vector<std::string> resDirOrders; if ((2048 == screenSize.width) || (2048 == screenSize.height)) { resDirOrders.push_back("ipadhd"); //glview->setDesignResolutionSize(2048, 1536, ResolutionPolicy::NO_BORDER); //glview->setDesignResolutionSize(1024, 768, ResolutionPolicy::NO_BORDER); glview->setDesignResolutionSize(512, 384, ResolutionPolicy::NO_BORDER); director->setContentScaleFactor(4.0f); } else if ((1024 == screenSize.width) || (1024 == screenSize.height)) { resDirOrders.push_back("ipad"); //glview->setDesignResolutionSize(1024, 768, ResolutionPolicy::NO_BORDER); glview->setDesignResolutionSize(512, 384, ResolutionPolicy::NO_BORDER); director->setContentScaleFactor(2.0f); } else if ((1136 == screenSize.width) || (1136 == screenSize.height)) { resDirOrders.push_back("iphonehd"); //glview->setDesignResolutionSize(1156, 640, ResolutionPolicy::NO_BORDER); glview->setDesignResolutionSize(568, 320, ResolutionPolicy::NO_BORDER); } else if ((960 == screenSize.width) || (960 == screenSize.height)) { resDirOrders.push_back("iphonehd"); //glview->setDesignResolutionSize(960, 640, ResolutionPolicy::NO_BORDER); glview->setDesignResolutionSize(480, 320, ResolutionPolicy::NO_BORDER); } else { resDirOrders.push_back("iphone"); glview->setDesignResolutionSize(480, 320, ResolutionPolicy::NO_BORDER); } fileUtils->setSearchPaths(resDirOrders); }
iPhone Retina が ベースなのかな…Android確認しないとまずいな…
ResolutionPolicy::SHOW_ALL かな。