2010-02-03 110 views
3

我正在開發一款益智遊戲,使用在單個UIView中使用核心圖形實現drawrect的iPhone。簡單的iPhone遊戲菜單

我想添加一個從UIButton事件處理程序打開的菜單。

我不知道我是否應該通過代碼來完成此操作。有一個menuopen標誌,並調整繪圖例程和點擊事件處理程序(手動實現)或去UINavigationController路線,並有一個完全獨立的視圖,這將激活我假設在UINavigationController從按鈕事件。

目前,我的音樂和聲音內容是在我的遊戲中的「主」UIView中附加的類,並通過ViewDidLoad初始化。

任何意見將不勝感激。

回答

2

你絕對應該把你的菜單代碼放在不同的視圖對象中。不要僅在菜單模式下重新繪製現有視圖。這會使你的代碼不必要地變得複雜。

但是,您不必使用UINavigationController替換另一個視圖。如果需要,您自己編寫代碼以刪除遊戲視圖(removeFromSuperview)並將菜單視圖(addSubview:)添加到應用程序的窗口中,使用過渡動畫。

您也可以使用UIViewController的presentModalViewController:方法將您的菜單視圖推到遊戲視圖之上。

很難說正是需要在不更多地瞭解你的代碼做什麼,但你應該絕對絕對保持不同的事情,不同的階級,而不是讓一個類的行爲取決於許多事情模式標誌。

+1

@Benzado謝謝你的提示。我的直覺是,許多OpenGLES遊戲可能只使用一個視圖,遊戲菜單中的所有內容都在代碼中處理?你有任何意見,有兩個UIViews,只隱藏一個或另一個隱藏的國旗? – PeanutPower 2010-02-03 18:11:48

+1

OpenGL是一種不同類型的蠕蟲,如果您在Core Graphics中工作,則無需擔心。使用隱藏可能與添加/刪除視圖沒有區別,如果您願意,可以這樣做。 – benzado 2010-02-04 16:54:39

+0

謝謝你Benzado – PeanutPower 2010-02-05 17:37:52