В AppDelegate.cpp мы следующий код в BOOL AppDelegate::applicationDidFinishLaunching()
:Почему содержание
glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::SHOW_ALL);
auto frameSize = glview->getFrameSize();
// if the frame's height is larger than the height of medium size.
if (frameSize.height > mediumResolutionSize.height)
{
director->setContentScaleFactor(MIN(largeResolutionSize.height/designResolutionSize.height, largeResolutionSize.width/designResolutionSize.width));
//Add Code to use large assets
}
// if the frame's height is larger than the height of small size.
else if (frameSize.height > smallResolutionSize.height)
{
director->setContentScaleFactor(MIN(mediumResolutionSize.height/designResolutionSize.height, mediumResolutionSize.width/designResolutionSize.width));
//Add Code to use medium assets
}
// if the frame's height is smaller than the height of medium size.
else
{
director->setContentScaleFactor(MIN(smallResolutionSize.height/designResolutionSize.height, smallResolutionSize.width/designResolutionSize.width));
//Add Code to use small assets
}
director->setContentScaleFactor(MIN(largeResolutionSize.height/designResolutionSize.height, largeResolutionSize.width/designResolutionSize.width));
Почему мы берем МИН из соотношения высоты и ширины? Почему бы нам не выбрать высоту или ширину? Разве это не противоречит?
Поскольку используемые нами активы фиксированы по размеру (например, в каждом блоке мы либо выбираем большие, средние или малые активы), это не масштабирование, отличающееся для разных пропорций, которые могут иметь одинаковую высоту или ширина? Не приведет ли это к еще худшим проблемам, как физика и изображения на экране, не соответствующие?