2011-06-25 2 views
0

J'ai porté mon jeu iOS de Cocos2D sur Mac et cela fonctionne sans problèmes, mais je ne comprends pas pourquoi j'ouvre deux fenêtres chaque fois que je lance l'application. L'un d'eux est la fenêtre cocos2d avec la scène du menu principal et les propriétés et le nom que je donne mais il y a une autre fenêtre blanche vide avec le nom de l'application (je veux dire le nom du projet Xcode). Je suppose que c'est un problème trivial mais je ne peux vraiment pas empêcher cette fenêtre d'apparaître.Comment éviter l'ouverture de la double fenêtre au lancement?

Qu'est-ce que je fais mal?

Ceci est mon initialisation de la fenêtre AppDelegate:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification{ 

CCDirectorMac *director = (CCDirectorMac*) [CCDirector sharedDirector]; 

    //Posiciona ventana y define escalado 

    NSRect aFrame=[[NSScreen mainScreen] frame]; 

CGSize winSize = CGSizeMake(1024,768); 

CC_DIRECTOR_INIT(winSize); 
[self.window showsResizeIndicator]; 

[director setResizeMode:kCCDirectorResize_AutoScale]; 
[director setProjection:kCCDirectorProjection2D]; 

[window_ setContentAspectRatio:NSMakeSize(winSize.width,winSize.height)]; 
[window_ setStyleMask:[window_ styleMask] | NSResizableWindowMask | NSMiniaturizableWindowMask]; 
[window_ setTitle:@"Barman Hero"]; 

aFrame=[[NSScreen mainScreen] frame]; 
if (aFrame.size.width<=winSize.width || aFrame.size.height<=winSize.height) [window_ zoom:self]; 
[window_ center]; 
[glView_ setFrameSize:NSMakeSize(window_.frame.size.width,window_.frame.size.height-22)]; 

// Enable "moving" mouse event. Default no. 
[window_ setAcceptsMouseMovedEvents:NO]; 

.....

.....

.....

//Carga escena principal 
[[CCDirectorMac sharedDirector] runWithScene:[MainMenu scene]]; 

}

Merci d'avance.

+0

'self.window' et' window_' sont-ils le même objet? –

Répondre

2

Il est probable que vous ayez une fenêtre définie dans MainMenu.xib en cours d'ouverture semi-automatique. Supprimer la fenêtre de MainMenu.xib et tout code qui pourrait le référencer et il ne devrait plus ouvrir la deuxième fenêtre.

+0

Merci Percy, mais je n'ai pas de MainMenu.xib dans mon projet. En fait, je n'ai aucun fichier xib du tout. – rmvz3

+1

@ rmvz3: Vérifiez à nouveau. Une application ne crée pas implicitement une fenêtre, donc les deux seules raisons possibles pour cette fenêtre sont que vous la créez dans le code ou que vous l'ayez dans une plume en cours de chargement (très probablement MainMenu, qui est chargé automatiquement). Depuis Xcode 4, MainMenu.xib se trouve dans le groupe Fichiers de support; dans Xcode 3 et éventuellement d'autres modèles plus anciens, c'est dans le groupe Ressources. Vous pouvez également regarder dans votre dossier de projet; Ce sera dans le dossier en.lproj ou English.lproj. –

+0

OUI !! Tu as raison!!. Le fichier MainMenu.xib était masqué dans le dossier English.lproj et non répertorié dans Xcode. Je l'ai trouvé dans finder, double cliqué et enlevé la fenêtre et tout va bien maintenant. Merci beaucoup pour votre aide inestimable. :) – rmvz3

Questions connexes