windows环境模拟iPhoneX适配

在resolution.ini增加isiPhoneX配置

[resolution]
width=1138
height=640
frameFactor = 1
isiPhoneX = 1

在AppDelegate中读取配置并设置安全区域

    int width = 960;
    int height = 640;
	float frameFactor = 1.f;
	bool isiPhoneX = false;
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
    wchar_t lpPath[MAX_PATH];
    wchar_t widthStr[6] = { 0 };
    wchar_t heightStr[6] = { 0 };
	wchar_t frameFactorStr[6] = { 0 };
	wchar_t isiphoneXStr[6] = { 0 };

    wcscpy(lpPath, L"./resolution.ini");

    GetPrivateProfileString(L"resolution", L"width", L"", widthStr, 6, lpPath);
    GetPrivateProfileString(L"resolution", L"height", L"", heightStr, 6, lpPath);
	GetPrivateProfileString(L"resolution", L"frameFactor", L"", frameFactorStr, 6, lpPath);
	GetPrivateProfileString(L"resolution", L"isiPhoneX", L"", isiphoneXStr, 6, lpPath);

    width = _wtoi(widthStr);
    height = _wtoi(heightStr);
	frameFactor = _wtof(frameFactorStr);
	isiPhoneX = bool(_wtoi(isiphoneXStr));

	if (isiPhoneX) {
		width = 2436.0;
		height = 1125.0;
		frameFactor = 0.56888889;
		PlatformSetting::sharedInstance()->setViewSafeAreaInsets(0, 132, 63, 132);
	}

    CCLOG("width = %d, height = %d, frameFactor = %f", width, height, frameFactor);
#endif

    ///end 
    Rect rect(0, 0, width, height);
    // initialize director
    auto director = Director::getInstance();
    auto glview = director->getOpenGLView();

#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
        glview = GLViewImpl::createWithRect("ONE PIECE 2", rect, 1.0);
#else
        glview = GLViewImpl::createWithRect("ONE PIECE 2", rect, frameFactor, true);
#endif
        director->setOpenGLView(glview);
    }

    Size frameSize = glview->getFrameSize();
    Size designSize(1136, 640);

    if  (frameSize.width / frameSize.height < 1136.f / 640) {
        glview->setDesignResolutionSize(designSize.width, designSize.height, ResolutionPolicy::FIXED_WIDTH);
    } else {
        glview->setDesignResolutionSize(designSize.width, designSize.height, ResolutionPolicy::FIXED_HEIGHT);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值