unity www使用汇总

unity www使用汇总

www 发送请求

get方式

通过传入网址后面拼接透传信息

例:

WWW www = new WWW("http://127.0.0.1/Test.php?username=get&password=12345");
post方式

如果需要传入的参数过长或传入的信息不是不是字符串类型,则推荐post方式

例:

WWWForm form = new WWWForm();//创建表单
form.AddField("a","b");//添加参数
WWW www = new WWW("需要请求的url",form);

www 接收数据

接收数据一般要在协同里面处理

yield return www;

倘若需要知道下载的进度,可以在update方法里面监听www.progress属性。

如果下载的是文本,直接使用www.text属性即可

如果是图片,可以使用www.texture属性

如果是其他文件,可以使用www.bytes属性,转成所需要的格式

www下载图片处理细节

在下载图片的时候,会遇到下列的问题

1:想判断下载的图片是什么格式的(虽然我们知道文件名,但我们却没有该文件的后缀)

解决办法:

string pictureType = www.responseHeaders["CONTENT-TYPE"];

通过这个方法,我们可以判断,该图片是什么格式。

2:如果图片的格式是gif格式的话,在使用ngui,UITexture显示图片的时候,直接使用www.texture的话,图片显示不正确(因为gif格式的图片是动图);

解决办法,通过在网上查找的过程中,有位大牛,直接将gif,转换成一系列texture,我们取第一帧就好了。
使用的插件请查看点击链接http://download.csdn.net/detail/liulei199079/9902300

为了使用方便,我在脚本UniGif添加了一个方法,如下

    public static List<Texture2D> GetTextureList(byte[] bytes)
    {
        int loopCount, width, height;
        return GetTextureList(bytes,out loopCount,out width,out height).ConvertAll(item => item.texture2d);
    }

记得添加命名空间System.Linq

猜你喜欢

转载自blog.csdn.net/liulei199079/article/details/75299023