陕西棋牌

  • 热门专题

如何快速建立一个测试资源Web服务器及异步获取资源(Unity3D)

作者:伊利丹·怒风  发布日期:2016-11-28 21:01:25
  • 背景

    陕西棋牌1、最近看了几位专栏作家的文章,几篇提到了资源通过网络的动态获取。如何建立一个快速的测试环境,不免是一个问题,也就最简单的就是假设http服务器了,微软系的当然首选的IIS了,别的也能用阿帕奇或者Tomcat了,net平台更轻量级的技术也有比如HttpListener或者Nancy都可以,虽然对于本人来说,创建IIS或者动手写一个轻量级的不是什么难事。但是在win10或者win8上装一个IIS扩展或者自己写一个小的服务器还是比较烦躁(反正我是不太喜欢在个人电脑上装服务类程序,你呢?),我想大家也一定有同样的选择问题,这里其实有更简单的选择。

    2、可能地球人都知道Unity其实不是很推荐使用多线程,当然异步调用还是很有必要的,比如本文说的获取IO资源这样比较耗时的操作,所以最近也研究了一些大家分享的多线程的文章,看了一圈觉得让人满意的不多,知识点较多,封装的较少,比较初级,这里拍砖引玉,简单引入一把牛刀,亮亮眼。

    实现

    1、这里不卖关子了,如何建设一个就简单的Web服务器作为网络资源的测试服务器,这里我采用的方法是采用一个绿色微型的Web服务器,叫做MyWebServer,而且是绿色的无须安装,解压后是这个样子

    1

    陕西棋牌这里其实我们看到asp.dll ,asp.net.dll,php等文件其实它不光能模拟静态资源的获取,动态资源其实也是可以得比如Json什么的,不过不是本篇想讲的内容,如果想了解自己看看程序帮助文档即可。

    双击MyWebServer.exe运行即可,会启动左下的小窗口,这里可以定义服务目录和高级设置,这里如果就是本机测试使用就不用点击高级设置了,其实也用不着

    2

    陕西棋牌我们进入web文件夹,也就是服务目录(或者叫虚拟目录,就是想在web服务器上陈列的文件内容)

    4

    这里我给Web目录中添加了一张图片,用来在Unity中动态获取,这里分别用图片和a.asp来测试下,在浏览器陕西棋牌中通过本机IP进行测试如下图都成功了,至此一个绿色的版本的本地网络资源测试服务器建立完毕了,是不是很简单。

    5

    3

    2、如何通过Unity异步获得网络图片资源,这里不使用系统协程来实现,而是用UniRx异步调用实现

    using UnityEngine;
    using UniRx;

    public class BackgroundLoad : MonoBehaviour {

        // Use this for initialization
        void Start () {
            ObservableWWW.GetWWW('http://127.0.0.1/Map2.jpg').Subscribe(www =>
            {
                if (string.IsNullOrEmpty(www.error))
                {
                    Texture2D texture = www.texture;
                    SpriteRenderer render = this.GetComponent<SpriteRenderer>();
                    render.sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
                }
            });
        }  

    }

    陕西棋牌这里我怀疑Unity原生的WWW类应该是异步的,只是通过协程轮询的方式效率不高而已。关于UniRx的知识可以另行学习或者参考我的这篇文章Unity基于响应式编程(Reactive programming)入门。

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规
  • <tbody id='8rwd7'></tbody>

  • <tfoot id='8rwd7'></tfoot>

      <legend id='8rwd7'><style id='8rwd7'><dir id='8rwd7'><q id='8rwd7'></q></dir></style></legend>
      <i id='8rwd7'><tr id='8rwd7'><dt id='8rwd7'><q id='8rwd7'><span id='8rwd7'><b id='8rwd7'><form id='8rwd7'><ins id='8rwd7'></ins><ul id='8rwd7'></ul><sub id='8rwd7'></sub></form><legend id='8rwd7'></legend><bdo id='8rwd7'><pre id='8rwd7'><center id='8rwd7'></center></pre></bdo></b><th id='8rwd7'></th></span></q></dt></tr></i><div id='8rwd7'><tfoot id='8rwd7'></tfoot><dl id='8rwd7'><fieldset id='8rwd7'></fieldset></dl></div>

          <bdo id='8rwd7'></bdo><ul id='8rwd7'></ul>