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