2010-12-02 8 views
0

J'ai un morceau de code dans MyClassAppDelegate:montrant le menu voir la même chose que dans applicationDidFinishLaunching

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]; 
    application.idleTimerDisabled = YES; 
    [window setBackgroundColor:[UIColor blackColor]]; 

    appButton1 = [UIButton buttonWithType:0]; 
    [appButton1 setImage:[UIImage imageNamed:@"a.png"] forState:UIControlStateNormal]; 
    [appButton1 addTarget:self action:@selector(startGame) forControlEvents:UIControlEventTouchUpInside]; 
    [window addSubview:appButton1]; 
    [window makeKeyAndVisible]; 


-(void)startGame { 
    [appButton1 removeFromSuperview]; 
    mGC = [[MainGameController alloc] initWithNibName:nil bundle:nil];; 
    [window addSubview:mGC.view]; 
    [mGC.view setFrame:[[UIScreen mainScreen] applicationFrame]]; 
} 

Il donnera à l'utilisateur la possibilité de jouer un ou plusieurs jeux après l'application a lancé (mon code montre seulement une option, mais je peux ajouter plus de boutons si plus de sélections sont nécessaires).

Je voudrais créer une vue à la fin du jeu qui aura des boutons "play again" et "menu". Si l'utilisateur sélectionne le bouton de menu, je souhaite afficher la même vue créée par l'utilisateur dans applicationDidFinishLaunching. Dois-je supprimer toutes les vues existantes et ajouter la vue du menu comme initialement dans applicationDidFinishLaunching? Essentiellement, après que l'utilisateur sélectionne l'option "menu", je voudrais commencer avec une ardoise propre comme dans l'applicationDidFinishLaunching.

Répondre

0

Vous n'avez pas besoin de supprimer toutes les vues, mais à la fin de la vue que vous allez créer, l'activité de l'utilisateur le ramènera à la vue de mGC. Mais vous devez implémenter une sorte de moteur de jeu qui gardera trace de l'état du jeu et fera l'initialisation du jeu, le niveau de jeu, etc.

+0

En fait, il n'est pas nécessaire de garder une trace de l'état du jeu, il suffit simplement de rendre le "menu" à chaque pression sur le bouton du menu. Il n'est pas clair pour moi si je devrais avoir le contrôle initial de rendu/démarrage placé dans AppDelegate ou avoir une sorte de contrôleur appelé du délégué d'APP qui rendra le menu chaque fois que le bouton de menu est pressé. Merci – Mark