Unity3d请求webservice

前端之家收集整理的这篇文章主要介绍了Unity3d请求webservice前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我们在对接第三方sdk时,第三方sdk通常会以一个webservice接口的形式供我们来调用。而这些接口会以提供我们get,post,soap等协议来进行访问。get,post方法相信大家都比较熟悉了,今天我们着重讨论soap协议的访问。

  soap又叫简单对象访问协议,是交换数据的一种协议规范,soap是基于xml的。webService三要素就包含SOAP、WSDL、UDDI之一, soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。更多的信息大家可以网上参考相关资料,soap和wsdl的教程可以看SOAP,WSDL

  下面我们来做一个请求天气预报的例子。网上提供了天气预报免费测试的webservice接口,不过每天有使用次数限制。更多的接口信息可以访问http://www.webxml.com.cn/zh_cn/index.aspx。查看http://www.webxml.com.cn/zh_cn/index.aspx找到我们天气预报需要的"getWeather"接口,我们可以看到这个接口提供post,get和soap的访问方法。我们这个小程序用到post和soap的访问方法,所以我们要看他提供的post和soap的使用方式。

  

  这个是post的使用方式,我们向webservice发起带theCityCode=string&theUserID=string的参数请求就可以了。其中theCityCode为城市名称比如"深圳",或者深圳对应的code"2419",不能为空。theUserID是会员id,可以为空,为空则是免费使用。下面的是请求返回,它是一个xml形式的字符数组。

  

  这是soap访问的使用方式,我们通过soap访问构造一个xml的soap

,其中theCityCode和theUserID是参数和上面的post方式一样。好了,轮到我们的unity3d上场了。

  我们先用unity画出我们需要的效果,因为我们要做一个天气预报的小程序,我们可以先画个蓝天的背景,在做几个动态的云朵,以达到美化的效果效果如图:

新建一个脚本,并绑定到Canvas上我们的云朵就滚动起来了。

YunScroll.cs

复制代码

using UnityEngine;
using System.Collections;

public class YunScroll : MonoBehavIoUr
{
    private const int bg_w = 937;
    float mSpeed = 30.0f;
    Transform yun1;
    Transform yun2;

    // Use this for initialization
    void Start()
    {
        yun1 = transform.FindChild("yun1");
        Debug.Assert(yun1 != null,对象找不到");

        yun2 = transform.FindChild(yun2");
        Debug.Assert(yun2 != ");

       }

     Update is called once per frame
    void Update()
    {
        //
        yun1.Translate(Vector3.left * Time.deltaTime * mSpeed);
        if (yun1.position.x <= -(bg_w / 2))
        {
            yun1.position = new Vector3(bg_w + (bg_w / 2),yun1.position.y,yun1.position.z);
        }

        //
        yun2.Translate(Vector3.left * Time.deltaTime * mSpeed);
        if (yun2.position.x <= -(bg_w / 2))
        {
            yun2.position =  
  

复制代码

  好了,我们的天空云朵背景已经动起来了,我们再添加显示天气的内容图片空间。效果如图:

添加脚本WeatherScript并绑定到主摄像机上。

WeatherScript.cs:

猜你在找的WebService相关文章