2013-03-11 104 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看一看。這是一個以更復雜的方式發送和響應信號的框架。 (然而,我從來沒有用過它)