暂停游戏,UICustomalertview / UIView

时间:2013-03-31 20:14:59

标签: iphone objective-c customization uialertview

我正在实施游戏,现在我正在实现暂停功能。但我已经看到了一些不同的方法来做到这一点。 我做了很多研究,有这样的教程:Tutorial

但我已经看到你的应用程序'真的可以拒绝这种警报:

  

UIAlertView的Apple文档说:

     

此类的视图层次结构是私有的,不得修改。

其他方法可以(正如我所见)实现UIView。但UIalertviews的优点是暂停功能已经实现,我不知道如何在不使用的情况下执行相同的功能暂停所有动画等:

sleep(INFINITY);

实现暂停菜单和功能以获得这样的结果的最佳方法是什么(这是我抽屉里的图片):

Pause function from my friend

1 个答案:

答案 0 :(得分:1)

您可能需要:

  1. 暂停模式指示符
  2. 弹出屏幕
  3. 在主游戏循环中你应该拥有的第一件事是BOOL isPaused指示器,因此游戏知道它何时处于暂停模式。将暂停模式视为执行适当操作的任何其他模式。停止该过程并不是很好,因为可能必须完成其他操作。

    其次,弹出窗口可能是具有所需透明度或更好的全屏图形:程序化制作具有50%透明度的黑色图像,因此您可以使背景变暗并在视图堆栈顶部显示警报视图。

    关于设计的小题外话,你应该分为两部分:

    • 仅控制游戏参数的用户界面
    • 控制游戏动作的游戏循环

    将实际游戏循环与控件分开是很好的。像这个警报视图这样的控件应该只操作显示参数而不调用任何其他操作(可能是CPU昂贵的)。当游戏运行根据状态参数显示图形时,游戏循环应该一直运行。