美文网首页
12协程与加载网络端

12协程与加载网络端

作者: _谭小坤 | 来源:发表于2016-12-29 20:31 被阅读12次
    如何通过网络端下载一些资源,看完下面的内容,你会有所了解.
    
    从网络端获取资源
    在上面的操作过程中其实显示的图片是从网络端获得过来的.点击了q键就会从网络端加载这个图片.
    
      首先,我们了解一下协程吧!协程不是线程,也不是异步执行的,在MainThread中执行.控制代码在特定的时候执行.
    

    协同程序可以和主程序并行运行,和多线程有点类似.协同程序可以用来实现让一段程序等待一段时间后继续运行的效果.

    // Use this for initialization
        void Start () {
    
            print("789");
            StartCoroutine(WorkHard());//在StartCoroutine方法中执行。
            print("101112");
        }
        
        // Update is called once per frame
        void Update () {
        
    
        }
    
        IEnumerator WorkHard()//一个返回值为IEnumerator类型
        {
    
            print("123");
            yield return new WaitForSeconds(2f);//用yield return返回
            print("456");
        }
    

    动态图的代码演示.

    Texture2D t2d;
        public string Url;
        WWW www;//这是一个类
        // Use this for initialization
        void Start () {
            Url = "http://ww2.sinaimg.cn/mw240/005OPYkojw1etn14eqlj8j30go0m8ab3.jpg";//网络上的图片资源
        }
        
        // Update is called once per frame
        void Update () {
            if (Input.GetKeyDown(KeyCode.Q))
            {
                StartCoroutine(GetWWW());
            }
        
        }
    
        IEnumerator GetWWW()
        {
            www = new WWW(Url);
            yield return www;
            print("返回数据成功");
            t2d = www.texture;//获取图片资源
    
        }
        private void OnGUI()
        {
            GUILayout.Label(Url);
            GUILayout.TextArea(""+www);
            GUILayout.Label(""+www);
            GUI.DrawTexture(new Rect(100,100,100,100),t2d);//绘制图片的位置和大小
        }
    
    

    相关文章

      网友评论

          本文标题:12协程与加载网络端

          本文链接:https://www.haomeiwen.com/subject/unypvttx.html