Unity3d发行NGUI UITexture/Facebook www Profile Pic

Unity3d发行NGUI UITexture/Facebook www Profile Pic,facebook,unity3d,ngui,guitexture,Facebook,Unity3d,Ngui,Guitexture,这里有个关于团结和非政府组织的小问题。NGUI的主要纹理是吉他织物,例如Unity有吉他织物 我向facebook发送了一个请求,请求获取用户的个人资料图像,该图像将返回一个完美的url,如果我将其放入浏览器中,该url将正常工作 我的问题是将该Texture2D(Facebook API将其作为Texture2D)放在我的UITexture上。由于某些原因,它只是没有正确地接受它。我总是得到一个空值。我也在使用移动社交以及资产商店的任何帮助 这是我的代码片段 private void Use

这里有个关于团结和非政府组织的小问题。NGUI的主要纹理是吉他织物,例如Unity有吉他织物

我向facebook发送了一个请求,请求获取用户的个人资料图像,该图像将返回一个完美的url,如果我将其放入浏览器中,该url将正常工作

我的问题是将该Texture2D(Facebook API将其作为Texture2D)放在我的UITexture上。由于某些原因,它只是没有正确地接受它。我总是得到一个空值。我也在使用移动社交以及资产商店的任何帮助

这是我的代码片段

 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");
    }
}
private void UserDataLoaded(FB\u结果)
{
SPFacebook.OnUserDataRequestCompleteAction-=UserDataLoaded;
如果(结果已通过)
{
Log(“用户数据已加载!”);
IsUserInfoLoaded=true;
字符串FBNametxt=SPFacebook.Instance.userInfo.Name;
UILabel Name=GameObject.Find(“FBName”).GetComponent();
Name.text=FBNametxt;
Texture2D FBLoadTex=SPFacebook.Instance.userInfo.GetProfileImage(FB_ProfileImageSize.normal);
FBGetProfile.GetComponent().mainTexture=FBLoadTex!=null?FBLoadTex:Placeholder img;
}
否则{
Log(“用户数据加载失败,出现问题”);
}
}

如果fbprofile pic为空,则占位符图像只是已选择的图像。我一直在寻找……

您可能正在寻找用于此目的的
RawImage

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

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

在编辑器中将“Ngui Unity2d Sprite”组件而不是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));

}
private void ProfilePicCallBack(FBResult)
{
if(result.Error!=null){
Log(“获取配置文件图片的问题”);
返回;
}
ProfileImage.GetComponent().sprite2D=Sprite.Create(result.Texture,new Rect(0,0128128),new Vector2(0,0));
}

也许还有另一种方法可以做到这一点。但这对我很有效

有人有办法吗??我已经被困在这个问题上差不多一天了……现在使用“ngui”实际上是不可能的;它已被弃用了4年?年。只需使用内置的Unity.UI。这帮了我很大的忙。我继续使用原始图像。然而,我遇到了另一个问题,一旦用户已经登录了前一次。他们自动重新登录,fb pic显示一个红色问号。我想我不知道为什么要写这个话题(好的,继续问一个新问题,尽量说清楚,祝你好运!