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 かな。