2013-04-25 39 views
0

我對如何在我的遊戲中最好地執行屏幕轉換有點困惑。我需要執行以下轉換[主菜單] - > [字符選擇] - > [舞臺選擇]如何動態決定轉換到哪個屏幕(iOS遊戲)

到目前爲止,我使用Interface Builder從[Main Menu]到[字符選擇]並選擇模式切換類型。但後來我意識到,在第二輪遊戲中,玩家不需要再次進入[角色選擇]屏幕。然後,我有以下流程[主菜單] - > [階段選擇]

所以我的問題(S)是:

1)是模式的轉變這樣的推薦的方法?我使用模態轉換所看到的所有例子都是做彈出式或類似的。我不想使用導航欄,因爲我認爲這些對於遊戲來說不是很好的設計選項。

2)我看到了某處我不應該在這裏使用segues,而是使用「presentViewController:animated:completion:」,但是這導致我出現了另一組問題。

3)爲了瞭解presentViewController ......我結束了在蘋果文檔http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html 這並不能解釋很多事情,

3.1),比如我如何在設置控制器的NIB文件名Inteface Builder? (我必須創建一個.xib文件)。實際上這個NIB/XIB文件非常混亂。

我試圖在控制類的NIB名這樣的名稱來傳遞:

MyController* controller = [UIViewController alloc] initWithNibName:@"MyController"... 

,但我得到一個異常「無法在包中加載NIB ......」

3.2)另外該文件聲明我應該將controller.delegate設置爲self,但UIController沒有委託屬性。我是否必須自己在呈現的控制器中定義一個委託屬性?

3.3)第二個參數「bundle」,我應該總是傳遞'nil'還是應該傳入mainBundle?

在此先感謝。當您要執行你的[Main Menu] -> [Stage Select]過渡

- (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender 

+0

一種模糊/寬泛。所有這些問題都是非常基本的,並且在文檔,教程,書籍等中得到了明確的回答。但是,您不能期望在堆棧溢出的單個問題中教會所有關於筆尖和故事板以及查看控制器的內容。 – matt 2013-04-25 15:15:06

回答

1

您應該使用賽格瑞通過調用。在你的UIViewController子類中創建一個segue,配置它,然後根據需要使用它。

或者,在你看來,你已經有一個UIControl[Main Menu] -> [Character Select]你可以:

  1. 變化SEGUE它執行
  2. 禁用它藏起來,同時啓用和取消隱藏控制爲Menu->Stage SEGUE
+0

不錯!我在嘗試從同一視圖創建兩個賽段時遇到問題,但我意識到如何做到這一點。感謝您回答這個問題,如果我對此含糊不清,我表示歉意。 – 2013-04-25 17:43:02