2014-12-05 52 views
1

使用的是iOS的NSNotificationCenter或类似事件的应用程序事件的备选答案可能是,如果有任何一种对应于这些事件在Unity挂钩:在Unity

  • UIApplicationWillResignActiveNotification
  • UIApplicationDidBecomeActiveNotification

我可以在Unity中使用iOS的NSNotificationCenter吗?怎么样?我搜索了一段时间,但发现零。

回答

0

这听起来像你真正想要的是得到通知时,少数人委托方法被调用。为此,您可以编辑AppDelegate.m文件并添加一行代码,将消息传递回Unity游戏。我可以在这里给你一个一般的方法。

首先在你的根场景中创建一个GameObject,并附上一个你想调用的方法的脚本,然后调用DontDestroyOnLoad()。还要给它一个独特的名称,您将在以后需要的层次结构中,如AppDelegateProxy

void Start() { 
    DontDestroyOnLoad(); 
} 

public void ApplicationWillResignActive(string message) { 
    // Do whatever you want here, e.g. fire an event 
} 

接下来,在你的应用程序的AppDelegate.m文件,编辑要一起团结通过相关方法:

-(void)applicationWillResignActive:(UIApplication *)application { 
    // Notify your game object that this event occurred 
    UnitySendMessage("AppDelegateProxy", "ApplicationWillResignActive", "whatever you want here"); 
} 

还有其他的方法可以做到你想要什么,但是这是一个一般的方法,可以让你响应iOS应用程序中任何你想要的东西。您也可以使用这个通知将通知传递到应用程序中。只需在AppDelegate中设置一个监听器,并将通知传递给持久化GameObject中的方法即可。