一、简单介绍 Unity中的一些基础知识点,便于后期查看学习。 本节介绍,如何动态加载网络上,电脑上或者Android手机上指定路径的图片的简单方式,方法不唯一,仅供参考。 二、实现原理 UnityWEBRequest 发起网络请求,Do
本节介绍,如何动态加载网络上,电脑上或者Android手机上指定路径的图片的简单方式,方法不唯一,仅供参考。
UnityWEBRequest 发起网络请求,DownloadHandlerTexture 作为发起下载图片,解析得到图片
下载地址不仅支持网络路径,电脑端和Android 手机端等路径也支持
移动端,例如 Android 注意请给读写权限
因为要加载网络服务器上的图片,还需要网络开启哈
打开Unity,新建工程
在场景上布局UI,显示加载的图片
新建脚本,编辑代码,把脚本挂载到 UI上,勾选是加载网络图片,还是电脑Android上的图片
注意,Android 注意 给读写权限
运行效果如上
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.networking;
using UnityEngine.UI;
public class LoadPicture : MonoBehaviour
{
public bool isLoadNetImage = false;
[SerializeField]
// 网络上的图片,也可以加载
private string url = @"Http://a2.att.hudong.com/36/48/19300001357258133412489354717.jpg";
RawImage rawImage;
public string Url { get => url;
set {
url = value;
GetTexture(url, SetTexttureToRawImage);
}
}
private void Start()
{
rawImage = GetComponent
if (isLoadNetImage)
{
// 加载网络服务器的图片
GetTexture(url, SetTexttureToRawImage);
}
else {
#if UNITY_EDITOR
// 加载PC端上的图片
GetTexture(@"D:\Tmp\Images\HappFish.png",
SetTexttureToRawImage);
#else
// 加载Android端的图片
GetTexture(@"file:///storage/emulated/0/tencent/MicroMsg/WeiXin/mmexport1537166579555.jpg",
SetTexttureToRawImage);
#endif
}
}
void SetTexttureToRawImage(Texture texture)
{
if (rawImage ==null)
{
rawImage = GetComponent
}
rawImage.texture = texture;
}
///
/// 请求图片
///
/// 图片地址,like 'http://www.my-server.com/image.png '
/// 请求发起后处理回调结果的委托,处理请求结果的图片
///
public void GetTexture(string url, Action
{
StartCoroutine(_GetTexture(url, actionResult));
}
///
/// 请求图片
///
/// 图片地址,like 'http://www.my-server.com/image.png '
/// 请求发起后处理回调结果的委托,处理请求结果的图片
///
IEnumerator _GetTexture(string url, Action
{
UnityWebRequest uwr = new UnityWebRequest(url);
DownloadHandlerTexture downloadTexture = new DownloadHandlerTexture(true);
uwr.downloadHandler = downloadTexture;
yield return uwr.SendWebRequest();
Texture2D t = null;
if (!(uwr.isNetworkError || uwr.isHttpError))
{
t = downloadTexture.texture;
}
else
{
Debug.Log("下载失败,请检查网络,或者下载地址是否正确 ");
}
if (actionResult != null)
{
actionResult(t);
}
}
}
来源地址:https://blog.csdn.net/qq_21743659/article/details/131686355
--结束END--
本文标题: UNITY 基础之 实现动态加载网络端、PC端和 ANDROID 端指定路径下的图片的简单方法
本文链接: https://www.lsjlt.com/news/416984.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0