cocos2dx iphoneX 游戏适配

本文介绍了如何解决cocos2d-x游戏在iPhoneX上因刘海屏导致的布局问题,通过调整视图安全区域和添加边框填充,确保游戏UI在中间区域正常显示,并处理输入框视图移动的bug。
摘要由CSDN通过智能技术生成

最近几天在研究游戏适配IphoneX机型的问题,现总结一下以防忘记,之前想着通过采用网上一篇介绍cocos2dx 适配X的方法实现全屏,

链接:https://mp.weixin.qq.com/s/2icxj1E8t2540Zr0j4aIZA,

https://github.com/biganans/cocos2x-adaptation

这样是解决了全屏的问题,但是因为齐刘海的问题,有些按钮都被遮挡住了,如果单独对这些遮挡的按钮进行位置操作的话,整个ui布局效果就会很差,而且针对每一个被遮挡的控件界面都要操作,工作量还是比较大的,我们游戏也已经开发了一些时日,所以在这个基础上进行了一些修改,采用两边留出一部分用图片填充,游戏UI都在中间部分展示的方式

首先,在 RootViewController.mm文件里添加方法“viewSafeAreaInsetsDidChange”,这个方法是干嘛的在xcode Quick help里都有介绍,这里就不说了,:

- (void)viewSafeAreaInsetsDidChange {

    [superviewSafeAreaInsetsDidChange];

    NSLog(@"viewSafeAreaInsetsDidChange %@",NSStringFromUIEdgeInsets(self.view.safeAreaInsets));

    [selfupdateOrientation];

}


bool changeViewFrame = false;

- (void)updateOrientation {

    

    if (@available(iOS11.0, *)) {

        CGRect rect = [[UIScreenmainScreen]bounds];

        CGSize size = rect.size;

        CGFloat width = size.width;

        CGFloat height = size.height;

        CGFloat scale_screen = [UIScreenmainScreen].scale;

        //通过分辨率判断是否是iPhoneX手机

        if (width*scale_screen ==2436and height*scale_screen ==1125)

 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值