1

シミュレーターに問題があります。スペースマネージャーを使用してアプリを作成しようとしています。デリゲートにこのソースがあります。各デバイスのコードを具体的に設定しようとしています。//ここに問題があります。 Retinaディスプレイを搭載したiPadのコードを設定しようとすると、シミュレーターを起動するとすべてが完全に機能しますが、Retinaディスプレイを搭載したiPadはロードされず、そこに設定した場合にのみロードされます[director enableRetinaDisplay:NO]; そしてそれは網膜なしで実行されます。では、Retinaディスプレイが別の方法で機能するように設定する方法を知っている人はいますか?ありがとう。

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

1 に答える 1

1

これは以前の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);
}

注意:これは私の修正ではありません。同じ問題が発生した後、グーグルで遭遇しました。完全な説明はここで見つけることができます:http ://swainya.blogspot.no/2012/03/black-screen-on-simulator-for-ipad.htmlクレジットはSpencerHoに行きます...

于 2013-01-02T14:57:20.850 に答える