IIS服务器搭建与WWW资源加载
转载与感谢原作者:https://blog.csdn.net/qq_33747722/article/details/54291133
本文介绍使用Unity WWW通过HTTP协议实现在自己IIS搭建的网站上加载资源图片,并将图片保存到本地主机上
【IIS服务器搭建】
打开控制面板,点击卸载程序
点击启动或关闭Windows功能
按如下图勾选Web管理工具
等待安装完成后,搜索Internet InformationServices,点击进入iis管理器
右键点击添加网站,按如下图填写弹出的窗口内容
物理路径是保存我们网站的加载空间
填写完成后,便会添加我们刚刚添加的网站了
打开目录浏览,检查我们的资源是否应用了
打开C:\Windows\System32\drivers\etc目录,在目录下找到hosts文件,打开文件
(如果没有找到hosts文件,点击查看,将隐藏文件取消勾选;在右键文件属性窗口上,取消只读窗口,就可以在该文件下编辑内容了)
添加以下字段:
127.0.0.1 www.text.com
这样我们的iis服务器就算搭建完成了
接下来在物理路径目录下添加一个XX.html文件,在里面简单添加一个helloword字段
在浏览器上输入域名,检查网站是否配置成功,当网页上显示helloword表明成功搭建
注意:倘若报错,很有可能你的物理路径目录权限问题,把该目录权限设置为everyone
【WWW资源加载】
搭建完自己的web服务器后,接下来介绍将图片资源加载到unity中,使用方法:WWW
在用iis服务器搭建的网站的物理路径目录下添加一张图片,这里我命名为:myImage.png
接下来新建一个C#脚本,将其挂载到main camera游戏对象上
在Project视图下新建一个streamingAssets文件夹,用于保存下载来的图片
- using UnityEngine;
- using System.Collections;
- using UnityEngine.UI;
- using System.IO;
- public class LoadImage : MonoBehaviour
- {
- private string URL = "www.text.com/myImage.png";
- //得到Application.streamingAssetsPath路径只能在主线程里得到,所以不能这样定义变量
- //private string filePath = "file://" + Application.streamingAssetsPath + "/myImage.png";
- private Texture2D webImg= null;
- private Texture2D localImg= null;
- void OnGUI()
- {
- if (webImg)
- {
- GUI.DrawTexture( new Rect( 80, 80, 725, 163), webImg);
- }
- if (localImg)
- {
- GUI.DrawTexture( new Rect( 80, 80, 725, 163), localImg);
- }
- }
- public void OnBtnLoadInHttp()
- {
- StartCoroutine(LoadWebImage(URL, 0));
- }
- public void OnBtnLoadInLocal()
- {
- //在本地文件夹下加载图片
- StartCoroutine(LoadWebImage( "file://" + Application.streamingAssetsPath + "/myImage.png", 1));
- }
- IEnumerator LoadWebImage(string str,int count)
- {
- WWW www = new WWW(str);
- yield return www;
- switch(count)
- {
- case 0:
- if (www.isDone && www.error == null)
- {
- webImg = www.texture;
- //将图片保存到本地
- byte[] imageDate = webImg.EncodeToPNG();
- File.WriteAllBytes(Application.streamingAssetsPath + "/myImage.png", imageDate);
- }
- break;
- case 1:
- if (www.isDone && www.error == null)
- {
- localImg = www.texture;
- }
- break;
- }
- }
- }
在unity中创建两个UI Button
分别将响应函数添加入按钮上
先点击第一个按钮,将下载我们网站的图片并将其保存到streamingAssets文件夹下
点击第二个按钮,此时加载显示的图片便是保存在我们本地的的的资源图片