在Unity游戏中以编程方式调用共享魅力

时间:2015-04-06 14:16:53

标签: windows-phone-8 unity3d windows-store-apps

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

DataTransferManager.ShowShareUI();

但是它给了我以下错误:

activating a single-threaded class from mta is not supported

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

1 个答案:

答案 0 :(得分:2)

对于Windows应用商店(包括Windows Phone 8.1运行时)应用,您可以使用UnityEngine.WSA.ApplicationInvokeOnUIThreadTryInvokeOnUIThread方法在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不可用。