在Unity游戏中以编程方式调用共享魅力
问题描述:
我正在为使用Unity 4.6的windows store/phone开发一款游戏,并希望在使用共享魅力的Facebook和其他平台上分享分数。我在场景中有一个按钮,但我无法通过编程方式调用共享魅力。我试着用在Unity游戏中以编程方式调用共享魅力
DataTransferManager.ShowShareUI();
,但它给了我以下错误:
activating a single-threaded class from mta is not supported
谁能告诉我,我如何能实现我想要的功能?
答
对于Windows应用商店(包括Windows Phone的8.1运行时),应用程序可以使用UnityEngine.WSA.Application的InvokeOnUIThread或TryInvokeOnUIThread方法来调用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不可用。