Unity3d - 2问题与Facebook分享在windows Phone
本文关键字:分享 windows Phone Facebook 问题 Unity3d | 更新日期: 2023-09-27 18:01:21
各位,
我必须说我已经在Unity社区(包括答案中心和它的论坛)发布了这个问题3次了,但是没有人能解决它。我使用TakeScreenShot()函数(它在用于Unity的facebook SDK的InteractiveConsole示例中)截取屏幕截图并将其发布到facebook。但是出现了两个问题:
-
首先:截图是一个灰色的空白,像这样: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");
}
我希望你解决了你的问题,但我还是会回答你的问题:
•第一:截图是灰色空白
我认为这只适用于Windows Phone,因为最近Unity 4.5,更新并再次尝试。Unity 4.5 Windows Phone修复
如果你忘记调用Apply方法,就会出现灰色纹理。如果忘记打电话,你最终会得到一个灰色的纹理。我看到你正在调用text . apply(),但我的猜测是你后来添加了它,你可能会看到一个旧的灰色纹理。您的代码应该按原样工作。如果您在更新到版本4.5或更高版本后仍然得到灰色纹理,请尝试在Apply和调用EncodeToPNG()之间等待一段时间,可能会在这些调用之间产生。请记住,这两种操作都是昂贵的。
•第二:没有人可以看到我的帖子,除了我,虽然我设置照片公开。
这是因为你的facebook应用程序还没有上线(公开),在开发过程中,只有你和你的开发团队才能看到消息。顺便说一下,facebook不会批准硬编码的消息,所以即使这可能有效,我知道你基于facebook自己的示例代码,你需要允许用户在发布之前编辑消息。