Objective c 带iPad视网膜显示器的模拟器

Objective c 带iPad视网膜显示器的模拟器,objective-c,ios,cocos2d-iphone,ios-simulator,Objective C,Ios,Cocos2d Iphone,Ios Simulator,我有一个模拟器的问题,我试图使应用程序与空间管理器和在我的代表。m我有这个来源。。 我试着为每台设备设置特定的代码,在哪里写//问题就在这里,我试着为带有视网膜显示器的ipad设置代码,当我启动模拟器时,一切都能正常工作,但带有视网膜显示器的ipad无法加载,只有在我设置到那里时才会加载[director enableRetinaDisplay:NO];然后它在没有视网膜的情况下运行。 那么,有人知道如何设置它,让视网膜显示以另一种方式工作吗?谢谢 if(UI_USER_INTERFAC

我有一个模拟器的问题,我试图使应用程序与空间管理器和在我的代表。m我有这个来源。。 我试着为每台设备设置特定的代码,在哪里写//问题就在这里,我试着为带有视网膜显示器的ipad设置代码,当我启动模拟器时,一切都能正常工作,但带有视网膜显示器的ipad无法加载,只有在我设置到那里时才会加载[director enableRetinaDisplay:NO];然后它在没有视网膜的情况下运行。 那么,有人知道如何设置它,让视网膜显示以另一种方式工作吗?谢谢

    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone )
{
    CGSize result = [[UIScreen mainScreen] bounds].size;


    if(result.height == 480 && [director enableRetinaDisplay:YES] == YES)
    {
        NSLog(@"iphone 4");
         [[CCDirector sharedDirector] replaceScene:[GameLayer node]];
    }


    if(result.height == 480 && [director enableRetinaDisplay:YES] == NO)
    {
        NSLog(@"iphone 3");
        [[CCDirector sharedDirector] replaceScene:[GameLayer node]];
    }



    if(result.height == 568)
    {
        NSLog(@"iphone 5");
        [[CCDirector sharedDirector] replaceScene:[Menu node]];
    }

}


if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
    CGSize result = [[UIScreen mainScreen] bounds].size;


    if(result.height == 1024 && [director enableRetinaDisplay:YES] == NO)
    {
        NSLog(@"iPad");
        [[CCDirector sharedDirector] replaceScene:[GameLayer node]];
    }

    if([director enableRetinaDisplay:YES] == YES)
    {
        NSLog(@"iPad retina");

        //HERE IS THE PROBLEM
        //HERE IS THE PROBLEM
        //[director enableRetinaDisplay:NO];

        [[CCDirector sharedDirector] replaceScene:[GameLayer node]];
    }
}

这是早期Cocos2D构建中的一个已知错误,但是可以通过对CCDirectorIOS类的一个小更改来相当容易地修复。您需要将第212/213行替换为以下行:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad &&
[[UIScreen mainScreen] scale] > 1.0 )
{gluPerspective(60, (GLfloat)size.width/size.height, zeye-size.height/2, zeye+size.height/2 );
} else {
gluPerspective(60, (GLfloat)size.width/size.height, 0.5f, 1500);
}

注:这不是我的解决方案,我只是在经历了同样的问题后在谷歌上遇到了它。完整的解释可以在这里找到:功劳归于斯宾塞何

这是早期Cocos2D构建中的一个已知错误,但是可以通过对CCDirectorIOS类的一个小更改来相当容易地修复。您需要将第212/213行替换为以下行:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad &&
[[UIScreen mainScreen] scale] > 1.0 )
{gluPerspective(60, (GLfloat)size.width/size.height, zeye-size.height/2, zeye+size.height/2 );
} else {
gluPerspective(60, (GLfloat)size.width/size.height, 0.5f, 1500);
}
注:这不是我的解决方案,我只是在经历了同样的问题后在谷歌上遇到了它。完整的解释可以在这里找到:功劳归于斯宾塞何