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

Posted

技术标签:

【中文标题】在 Unity 游戏中以编程方式调用分享魅力【英文标题】:Invoking share charm programatically in a Unity game 【发布时间】:2015-04-06 14:16:52 【问题描述】:

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

DataTransferManager.ShowShareUI();

但它给了我以下错误:

activating a single-threaded class from mta is not supported

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

【问题讨论】:

【参考方案1】:

对于 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 不可用。

【讨论】:

以上是关于在 Unity 游戏中以编程方式调用分享魅力的主要内容,如果未能解决你的问题,请参考以下文章

使用Python写俄罗斯方块,以游戏的方式学习编程

使用Python写俄罗斯方块,以游戏的方式学习编程

如何在 iPhone sdk 中以编程方式获取设备名称?

如何在 C/C++ 中以编程方式查找“保存的游戏”文件夹?

unity3d游戏开发学习分享之表面着色器讲解

博主营地 | 如何生成WebGL发布到网站上分享你的游戏