2010-12-02 73 views
0

我在MyClassAppDelegate一段代碼:顯示菜單查看相同的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]]; 
} 

它會給用戶提供一個選項,以玩一個或多個遊戲應用推出後(我的代碼只顯示一個選項,但如果需要更多選擇,我可以添加更多按鈕)。

我想在遊戲結束時創建一個視圖,該視圖將具有「再次播放」和「菜單」按鈕。如果用戶選擇菜單按鈕,我想顯示用戶在applicationDidFinishLaunching內創建的相同視圖。我是否必須刪除所有現有視圖並添加菜單視圖,如同在applicationDidFinishLaunching中最初所做的那樣?本質上,在用戶選擇「菜單」選項後,我想從與applicationDidFinishLaunching內部相同的乾淨選擇開始。

回答

0

您不必刪除所有視圖,而是在最後創建視圖,用戶的活動將使他回到mGC的視圖。但是你必須實現一些遊戲引擎類型的工作,這些工作將跟蹤遊戲狀態並進行遊戲初始化,遊戲升級等。

+0

實際上,每次按下菜單按鈕時都不需要跟蹤任何遊戲狀態,只需簡單地渲染「菜單」即可。我不清楚我是否應該在AppDelegate中放置初始渲染/啓動控件,或者從應用程序委託中調用某種控制器,每次按下菜單按鈕時都會呈現菜單。謝謝 – Mark 2010-12-04 03:46:21