2015-04-06 57 views
1

我正在为使用Unity 4.6的windows store/phone开发一款游戏,并希望在使用共享魅力的Facebook和其他平台上分享分数。我在场景中有一个按钮,但我无法通过编程方式调用共享魅力。我试着用在Unity游戏中以编程方式调用共享魅力

DataTransferManager.ShowShareUI(); 

,但它给了我以下错误:

activating a single-threaded class from mta is not supported 

谁能告诉我,我如何能实现我想要的功能?

回答

2

对于Windows应用商店(包括Windows Phone的8.1运行时),应用程序可以使用UnityEngine.WSA.ApplicationInvokeOnUIThreadTryInvokeOnUIThread方法来调用UI线程,从中可以调用Windows运行时的用户界面的方法,如ShowShareUI委托:

public void OnClick() 
{ 
    UnityEngine.WSA.Application.InvokeOnUIThread(() => 
    { 
     Debug.Log("On UI Thread"); 
#if NETFX_CORE 
     Windows.ApplicationModel.DataTransfer.DataTransferManager.ShowShareUI(); 
#endif 
    }, false); 
} 

如果您专门针对Windows Phone 8,则可能需要一个插件才能封送到UI线程,因为UnityEngine.WSA不可用。