简体   繁体   English

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

[英]Simulator with iPad retina display

I have a problem with the simulator, I try to make the app with space manager and in my delegate.m I have this source.. I try to set code for each device specifficaly and there where is written //HERE IS THE PROBLEM, I try to set code for ipad with retina display and when I start my simulator everything works perfectly on , but ipad with retina display doesn t load, it loads only if I set there [director enableRetinaDisplay:NO]; 我的模拟器有问题,我尝试使用空间管理器制作应用程序,并在我的委托中。我有此来源。.我尝试为每个设备设置代码,并在哪里写上//这里是问题,我尝试为具有视网膜显示的ipad设置代码,并且当我启动模拟器时,所有功能都可以完美运行,但是具有视网膜显示的ipad不会加载,只有在我将其设置为[director enableRetinaDisplay:NO]时,它才会加载。 and then it runs without retina. 然后它没有视网膜运行。 So does anyone know, how to set it to allow retina display to work it in another way? 谁知道,如何设置它以允许视网膜显示以其他方式工作? Thanks. 谢谢。

    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]];
    }
}

This is a known bug in earlier Cocos2D builds, but can fairly easily be remedied by a small change to the CCDirectorIOS class. 这是早期Cocos2D构建中的一个已知错误,但是只需对CCDirectorIOS类进行少量更改就可以很容易地对其进行补救。 You need to replace line 212/213 with the following lines: 您需要将以下行替换为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);
}

NB: This is NOT my fix, I just came across it googling after experiencing the same problem. 注意:这不是我的解决办法,我在遇到相同问题后才在Google上进行搜索。 The full explanation can be found here: http://swainya.blogspot.no/2012/03/black-screen-on-simulator-for-ipad.html credit goes to Spencer Ho... 完整的解释可以在这里找到: http : //swainya.blogspot.no/2012/03/black-screen-on-simulator-for-ipad.html归功于Spencer Ho ...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM