Unity3d问题NGUI UITexture / Facebook www Profile Pic

时间:2016-01-23 04:31:41

标签: facebook unity3d ngui guitexture

这里有Unity和NGUI的小问题。 NGUI将UITexture作为其主要纹理,例如Unity具有GUITexture。

我向facebook发送了一个请求,以获取用户个人资料图片,该图片会发回一个完美的网址,如果我放入浏览器工作正常。

我的问题是将Texture2D(Facebook API将其作为Texture2D)并将其放在我的UITexture上。由于某种原因,它只是没有正确。我一直得到一个空值。我也在使用Mobile Social以及资产商店的任何帮助,帮助。

这是我的代码片段。

 private void UserDataLoaded(FB_Result result)
{
    SPFacebook.OnUserDataRequestCompleteAction -= UserDataLoaded;
    if (result.IsSucceeded)
    {
        Debug.Log("User Data Loaded!");
        IsUserInfoLoaded = true;

        string FBNametxt = SPFacebook.Instance.userInfo.Name;
        UILabel Name = GameObject.Find("FBName").GetComponent<UILabel>();
        Name.text = FBNametxt;

        Texture2D FBLoadTex = SPFacebook.Instance.userInfo.GetProfileImage(FB_ProfileImageSize.normal);
        FBGetProfile.GetComponent<UITexture>().mainTexture = FBLoadTex != null ? FBLoadTex : PlaceHolderImg;
    }
    else {
        Debug.Log("User data load failed, something was wrong");
    }
}

占位符图像只是在fbprofile pic为空时使用的已选择图像。我一直在......

2 个答案:

答案 0 :(得分:1)

您可能正在寻找为此目的而存在的RawImage

http://docs.unity3d.com/Manual/script-RawImage.html

  

由于原始图像不需要精灵纹理,因此您可以使用它来显示Unity播放器可用的任何纹理。例如,您可以使用WWW类或游戏中的对象显示从URL下载的图像。

使用Unity.UI并使用该功能。

答案 1 :(得分:-1)

添加&#34; Ngui Unity2d Sprite&#34;组件而不是UiTexture到编辑器中的个人资料图片,并使用Fb回调中的代码

 private void ProfilePicCallBack (FBResult result)
    {
        if (result.Error != null) {
            Debug.Log ("Problem with getting Profile Picture");

            return;
        }

 ProfileImage.GetComponent<UI2DSprite> ().sprite2D = Sprite.Create(result.Texture, new Rect(0,0,128,128), new Vector2(0,0));

}

可能还有另一种方法可以做到这一点。但这对我有用