【问题标题】:Simple menu in iPhone gameiPhone游戏中的简单菜单
【发布时间】:2010-02-03 17:52:26
【问题描述】:

我正在为 iPhone 开发一款益智游戏,使用在单个 UIView 中实现 drawrect 的核心图形。

我想添加一个从 UIButton 事件处理程序打开的菜单。

我不确定我是否应该通过代码来执行此操作,例如有一个 menuopen 标志并调整绘图例程和点击事件处理程序(手动实现)或转到 UINavigationController 路由并有一个完全独立的视图,我假设在 UINavigationController 中从按钮事件中激活该视图。

目前,我的音乐和声音内容位于游戏中附加到“主”UIView 的类中,并通过 ViewDidLoad 进行初始化。

任何建议将不胜感激。

【问题讨论】:

    标签: iphone uiview uiviewcontroller core-graphics


    【解决方案1】:

    您绝对应该将菜单代码放在不同的视图对象中。不要只是在菜单模式下重绘现有视图。这将使您的代码变得不必要地复杂。

    但是,您不必使用 UINavigationController 将一个视图换成另一个视图。您自己编写代码来移除游戏视图 (removeFromSuperview) 并将菜单视图 (addSubview:) 添加到应用程序的窗口,如果需要,可以使用过渡动画。

    您还可以使用 UIViewController 的 presentModalViewController: 方法将您的菜单视图推送到游戏视图的顶部。

    如果不了解更多关于代码的信息,很难准确地说明您需要做什么,但您应该绝对将不同的东西保留为不同的类,而不是制作一个根据模式标志执行许多操作的类。

    【讨论】:

    • @Benzado 感谢您的提示。我的直觉是许多 OpenGLES 游戏可能只使用一个视图,而所有游戏菜单等都在代码中处理?你对拥有两个 UIView 并简单地用隐藏标志隐藏一个或另一个有任何意见吗?
    • OpenGL 是一种不同的蠕虫,如果您使用 Core Graphics,则无需担心。使用隐藏可能与添加/删除视图没有什么不同,如果您愿意,可以这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多