当知道了getWinSize是自己的设计分辨率 ,getFrameSize是设备分辨率后,还有知道资源的分辨率一般是参考设计分辨率,如果是设备分辨率宽高比等于设计分辨率宽高比,那么不管哪种适配方式资源图片都能正常缩放铺满屏幕,只是分辨率效果不同而已,此时visibleSize也等于屏幕分辨率SIZE,但如果是设备分辨率的宽高比和设计分辨率宽高比不一致时,这时候visibleSize就差别大了,但这时候我们也对visibleSize大小产生疑问很混淆了,不知道结果是如何计算出来的,,,,针对此疑惑,专门去看了cocos里的代码,如下:
getVisibleSize和getVisibleOrigin的算法,而里面用到了_scaleX 和 _scaleY的值,看后面继续跟踪代码
Size GLView::getVisibleSize() const
{
if (_resolutionPolicy == ResolutionPolicy::NO_BORDER)
{
return Size(_screenSize.width/_scaleX, _screenSize.height/_scaleY);
}
else
{
return _designResolutionSize;
}
}
Vec2 GLView::getVisibleOrigin() const
{
if (_resolutionPolicy == ResolutionPolicy::NO_BORDER)
{
return Vec2((_designResolutionSize.width - _screenSize.width/_scaleX)/2,