2010-02-03 111 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