2013-03-11 80 views
0

我正在开发一款游戏,我想知道是否可以发送信号。发送iOS游戏信号

在第一级的玩家需要3个项目,赢得

在第二级的玩家需要5个项目,赢得

是否有可能抛出一个信号,如“ItemTaken”特定对象其中

  1. 知道水平
  2. 处理信号

  3. 所以它可以计算玩家是否已达到一个新的水平或没有

(我已经简化了的事情,但也有大量的信号)

+2

术语“信号”用于OS和进程之间的特定交互;这听起来像你只是在谈论调用方法。请更具体地说明一个_lot_ - 具体的伪代码示例在这里会有很大的帮助。 – 2013-03-11 19:07:53

回答

0

有几种不同的方式。其中最简单的是使用NSNotifications和一个单例对象。

创建单听通知和处理他们,当他们进来当收到通知后,它会调用那就是选择的方法:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(processItem) 
              name:@"kItemTaken" 
              object:nil]; 

而且具有应用程序时发送通知事件发生:

[[NSNotificationCenter defaultCenter] postNotificationName:@"kItemTaken" object:nil]; 
+0

谢谢!我会尝试的 – Max 2013-03-11 19:12:23

1

就内置的API而言,您可以查看NSNotificationCenter。该文档非常简单:您可以注册以观察通知,并发布任意通知,这些通知由字符串标识。所以,你可以很容易地编写这样的事:

[[NSNotificationCenter defaultCenter] postNotificationName:MyItemTakenNotification object:theTakenItem]; 

如果你想要的东西更复杂,你可以在Reactive Cocoa看一看。这是一个以更复杂的方式发送和响应信号的框架。 (然而,我从来没有用过它)