• 北京快三官网

  • 北京快三官网

  • 北京快三官网

  • 北京快三官网

北京快三官网

作(zuo)者(zhe)︰伊利丹·怒風  發布日期(qi)︰2020-02-21 20:15:25
Tag標簽︰資源  服務(wu)器  
  • 背景

    1、最近看了幾位專欄作(zuo)家的文章,幾篇(pian)提到了資源通過網絡的動態獲(huo)取。如何建(jian)立一(yi)個快(kuai)速的測試環境,不免(mian)是一(yi)個問題(ti),也就最簡(jian)單的就是假(jia)設http服務(wu)器了,微軟系的當然首選(xuan)的IIS了,別(bie)的也能用阿(a)帕奇biao)蛘zhe)Tomcat了,net平台更輕量kao)兜募際躋燦斜熱ttpListener或者(zhe)Nancy都(du)可(ke)以,雖然huan)雜詒救ren)來說(shuo),創建(jian)IIS或者(zhe)動手zhong)匆yi)個輕量kao)兜牟皇鞘裁茨咽隆5 竊in10或者(zhe)win8上裝一(yi)個IIS擴展或者(zhe)自己(ji)寫一(yi)個小(xiao)的服務(wu)器還是比較煩躁(反(fan)正(zheng)我(wo)是不太喜歡(huan)在個人(ren)電腦上裝服務(wu)類(lei)程序,你呢?),我(wo)想大家也一(yi)定有同樣的選(xuan)擇問題(ti),這(zhe)里(li)其實(shi)有更簡(jian)單的選(xuan)擇。

    2、可(ke)能地(di)球人(ren)都(du)知道Unity其實(shi)不是很推薦使用多線程,當然異(yi)步調用還是很有必要的,比如本文說(shuo)的mu)袢O資源這(zhe)樣比較耗時(shi)的操作(zuo),所以最近也研究了一(yi)些大家分享的多線程的文章,看了一(yi)圈(quan)覺(jue)得讓人(ren)滿(man)意的不huan)啵  shi)點較多,封裝的較少(shao),比較初級,這(zhe)里(li)拍(pai)磚引玉,簡(jian)單引入一(yi)把牛刀,亮(liang)亮(liang)眼。

    實(shi)現

    1、這(zhe)里(li)不賣關子(zi)了,如何建(jian)設一(yi)個就簡(jian)單的Web服務(wu)器作(zuo)為網絡資源的測試服務(wu)器,這(zhe)里(li)我(wo)采用的方法是采用一(yi)個綠色微型的Web服務(wu)器,叫做MyWebServer,而且是綠色的無須安(an)裝,解(jie)壓後是這(zhe)個樣子(zi)

    1

    這(zhe)里(li)其實(shi)我(wo)們看到asp.dll ,asp.net.dll,php等文件(jian)其實(shi)它不光能模擬靜態資源的mu)袢。   試雌涫shi)也是可(ke)以得比如Json什麼的,不過不是本篇(pian)想講的內容,如果想了解(jie)自己(ji)看看程序幫助(zhu)文檔即可(ke)。

    雙擊MyWebServer.exe運行即可(ke),會啟動左下的小(xiao)窗(chuang)口,這(zhe)里(li)可(ke)以定義服務(wu)目錄ji)透嘸渡柚zhi),這(zhe)里(li)如果就是本機測試使用就不用點擊高級設置(zhi)了,其實(shi)也用不著(zhou)

    2

    我(wo)們進入web文件(jian)夾,也就是服務(wu)目錄(或者(zhe)叫虛擬目錄,就是想在web服務(wu)器上陳列的文件(jian)內容)

    4

    這(zhe)里(li)我(wo)給(gei)Web目錄中(zhong)添加了一(yi)張圖片,用來在Unity中(zhong)動態獲(huo)取,這(zhe)里(li)分別(bie)用圖片和a.asp來測試下,在瀏覽器中(zhong)通過本機IP進行測試如下圖都(du)成(cheng)功了,至此一(yi)個綠色的版本的本地(di)網絡資源測試服務(wu)器建(jian)立完畢(bi)了,是不是很簡(jian)單。

    5

    3

    2、如何通過Unity異(yi)步獲(huo)得網絡圖片資源,這(zhe)里(li)不使用系統協程來實(shi)現,而是用UniRx異(yi)步調用實(shi)現

    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));
                }
            });
        }  

    }

    這(zhe)里(li)我(wo)懷疑Unity原生的WWW類(lei)應該(gai)是異(yi)步的,只是通過協程輪詢的方式效(xiao)率(lv)不高而已(yi)。關于UniRx的知識(shi)可(ke)以另(ling)行學(xue)習或者(zhe)參考(kao)我(wo)的這(zhe)篇(pian)文章Unity基于響應式編程(Reactive programming)入門。

About IT165 -廣告服務(wu) -隱私聲明 -版權申明 -免(mian)責條款 -網站地(di)圖 -網友投稿 -聯(lian)系方式
本站內容來自于互聯(lian)網,僅供(gong)用于網絡技術學(xue)習,學(xue)習中(zhong)請遵循(xun)相關法律法規
北京快三官网 | 下一页