2010-11-03 14 views
1

Je veux reproduire mon écran d'iPhone à des fins de démonstration. J'ai essayé this et this, mais les deux me donnent un écran noir. Finalement, je suis sorti pour faire ma propre solution. Voici ce que j'ai:Miroir iPhone sur l'écran externe avec cocos2d

// Check for external screen. 
if ([[UIScreen screens] count] > 1) { 

    externalWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 


    // Internal display is 0, external is 1. 
    externalScreen = [[[UIScreen screens] objectAtIndex:1] retain]; 

    screenModes = [externalScreen.availableModes retain]; 


    UIScreenMode *desiredMode = [screenModes objectAtIndex:0]; 
    externalScreen.currentMode = desiredMode; 

    externalWindow.screen = externalScreen; 

    [screenModes release]; 
    [externalScreen release]; 

    CGRect rect = CGRectZero; 
    rect.size = desiredMode.size; 
    externalWindow.frame = rect; 
    externalWindow.clipsToBounds = YES; 

    externalWindow.hidden = NO; 
    [externalWindow makeKeyAndVisible]; 

    [externalWindow setUserInteractionEnabled:YES]; 
    [externalWindow setMultipleTouchEnabled:YES]; 


    //[[CCDirector sharedDirector] attachInView:externalWindow];  

Maintenant, je peux afficher sur l'écran externe ou sur mon iPhone, mais je ne peux pas afficher sur les deux en même temps, parce que [[CCDirector sharedDirector] attachInView: externalWindow]; ne prendra qu'une UIWindow. Comment puis-je contourner ce problème et/ou obtenir l'image affichée et la régler sur mon écran externe?

Merci,

Dave

Répondre

1

La seule solution que je vois est de rendre votre scène à une texture et de rendre cette texture deux fois un quad plein écran à l'backbuffer, une fois pour chaque UIWindow