首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cocos2d-iPhone和iPhone X分辨率

Cocos2d-iPhone和iPhone X分辨率
EN

Stack Overflow用户
提问于 2018-09-27 07:02:09
回答 2查看 917关注 0票数 1

你能相信我们还在使用Cocos2d-iPhone吗?

有人有办法让它与最新的iPad和iPhone X一起工作吗?

我们的模式是景观。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-09 16:59:38

  1. 如果cocos2d版本为1.02.1,那么将其更新为Cocos2d 2.2
  2. 在iPhoneX中添加Images.xcassets启动屏幕
  3. 在CCConfiguration.m文件中更新以下函数。在这方面,我们正在处理contentScaleFactor 3。 -( NSInteger ) runningDevice {NSInteger ret=-1;#ifdef __CC_PLATFORM_IOS if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { ret = (CC_CONTENT_SCALE_FACTOR() == 2)?kCCDeviceiPadRetinaDisplay : kCCDeviceiPad;} if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone ){ // From http://stackoverflow.com/a/12535566 BOOL isiPhone5 = CGSizeEqualToSize([UIScreen mainScreen preferredMode].size,CGSizeMake(640,1136));if( CC_CONTENT_SCALE_FACTOR() == 2){ ret = isiPhone5?kCCDeviceiPhone5RetinaDisplay : kCCDeviceiPhoneRetinaDisplay;// Guru - Handle iPhone Plus设备,iPhoneX //}{ // Guru - Handle iPhone Plus器件,iPhoneX //-- - isiPhone5?kCCDeviceiPhone5 : kCCDeviceiPhone;}} #elif ( __CC_PLATFORM_MAC ) // XXX:在这里添加对Mac显示ret =kCCDeviceMac的支持;#endif // __CC_PLATFORM_MAC返回ret; }
代码语言:javascript
复制
1. Use buttons and other image from iPhone5HD and manually load background for iPhone X

CCSprite *bg;if(App isIphoneX) { bg = CCSprite spriteWithFile:@“背景-iphoneX.png”;// 1624X750映像大小}-{ bg = CCSprite spriteWithFile:@"Background.png";//确保-hd、-ipad、-ipadhd、-iphone5hd存在}

或者只是缩放bg图像

代码语言:javascript
复制
#define SW ([[CCDirector sharedDirector] winSize].width)
#define SH ([[CCDirector sharedDirector] winSize].height)

CCSprite *bg ;
if([App isIphoneX])
{
      bg = [CCSprite spriteWithFile:@"Background.png"];
      bg.scaleX = SW/bg.contentSize.width;
       bg.scaleY = SH/bg.contentSize.height;

} 

应用程序代表代码:

代码语言:javascript
复制
-(bool)isIphoneX
{
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
        CGSize screenSize = [[UIScreen mainScreen] bounds].size;
        if (screenSize.width == 812) // portrait height = 812
        {
            return true;
        }
        if([self isIphoneXR]) // Now in this game iPhoneXR, iPhoneXS Max = iPhoneX,
        {
            return true;
        }
    }
    return false;
}
-(bool)isIphoneXR
{
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
        CGSize screenSize = [[UIScreen mainScreen] bounds].size;
        if (screenSize.width == 896 && screenSize.height == 414)
        {
            return true;
        }
    }
    return false;
}
  1. 不要添加iPhone6,iPhone7,iPhoneXR,iPhoneXSMax splash screen..system汽车标尺iphone5到iPhone6,iPhone7等,iPhoneX添加到iPhoneXR,iPhoneXSMax。您必须使用iPhone 5,iPhoneX splash

注意:我刚刚支持iPhoneX,我的旧game...Apple的所有设备支持最近都批准了这个change...successfully添加了对cocos2d 2.2的iPhoneX支持

票数 3
EN

Stack Overflow用户

发布于 2020-11-08 01:16:15

古鲁的解决方案是不完整的。他的解决方案以2 (1624x750)的比例尺加载iPhone X图像,而不是3 (2436×1125)。因此,需要将设备的规模设置为3。在CCDirectiorIOS.m的setContentScaleFactor中,您必须添加:

代码语言:javascript
复制
if([UIScreen mainScreen].scale == 3.0f)
        __ccContentScaleFactor = 3;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52531267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档