繁体   English   中英

Unity3d-Windows Phone中Facebook共享的2个问题

[英]Unity3d - 2 issues with Facebook Sharing in Window Phone

大家
我必须说,我已经在Unity社区(包括答案​​中心及其论坛)中张贴了3次此问题,但没人能解决。 我使用TakeScreenShot()函数(在FB SDK for Unity中的InteractiveConsole示例中)获取屏幕截图并将其发布到FB。 但是出现了两个问题:

  • 首先:捕获的屏幕截图是这样的灰色空白: http : //i7.minus.com/iXiHlCcSWaVfC.jpg

  • 第二:尽管我将照片公开,但除了我之外,没人能看到我的信息。

我该如何解决这些问题?

这是TakeScreenShot()函数的代码:

private IEnumerator TakeScreenshot() {

    yield return new WaitForEndOfFrame();

    var width = Screen.width;
    var height = Screen.height;
    var tex = new Texture2D(width, height, TextureFormat.RGB24, false);
    // Read screen contents into the texture
    tex.ReadPixels(new Rect(0, 0, width, height), 0, 0);
    tex.Apply();
    byte[] screenshot = tex.EncodeToPNG();

    var wwwForm = new WWWForm();
    wwwForm.AddBinaryData("image", screenshot, "InteractiveConsole.png");
    wwwForm.AddField("message", "herp derp.  I did a thing!  Did I do this right?");

    FB.API("me/photos", Facebook.HttpMethod.POST, Callback, wwwForm);
    Debug.Log("done");
}

希望您能解决您的问题,但无论如何我都会回答您的问题:

•首先:捕获的屏幕截图为灰色空白。

我认为这仅在最近在Unity 4.5上才适用于Windows Phone,请更新并重试。 Unity 4.5 Windows Phone修复

如果您忘记调用Apply方法,则会发生“灰色纹理”。 如果忘记致电,您最终将获得灰色纹理。 我看到您正在调用tex.Apply(),但我猜是您稍后添加它,可能会看到旧的灰色纹理。 您的代码应该可以正常工作。 如果在更新到版本4.5或更高版本后仍然获得灰色的Texture,请尝试在Apply和调用EncodeToPNG()之间等待一会儿,也许在这些调用之间屈服。 请记住,两者都是昂贵的操作。

•第二:尽管我将照片设为公开,但除了我,没人能看到我的信息。

那是因为您还没有与Facebook应用一起上线(公开),在开发过程中只有您会看到您,而开发团队将看到这些消息。 顺便说一句,fecebook不会批准硬编码的消息,因此即使这可能可行,并且我知道您的代码基于facebook自己的smaples,但您需要允许用户在发布前编辑消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM