目录
一、准备
准备几张图片。
二、步骤
2.1 建文件夹
在Unity的Assets文件夹下 新建“Resources”文件夹,并在该文件夹下新建“Images”文件夹,将提前准备的图片放在该文件夹下(文件路径示例:Assets/Resources/Images/001.jpg)。
ps:可以将图片按顺序命名,我这里以001、002......等命名。
2.2 改精灵图片
将“Images”文件夹下的图片改为精灵格式。
2.3 搭UI
新建Image,调整大小位置。
2.4 写代码
新建ImageLoader脚本实现加载精灵图片,这里以加载一张图为例。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ImageLoader : MonoBehaviour
{
public Image im;
void Start()
{
Debug.Log("Image loaded .....");
// Load image from Resources folder
//读取精灵图片 图片路径:Assets/Resources/Images/001.jpg
Sprite image = Resources.Load<Sprite>("Images/001");
if (image != null)
{
// Image loaded successfully
Debug.Log("Image loaded successfully.");
im.sprite = image;
// Do something with the loaded image
}
else
{
// Failed to load image
Debug.LogError("Failed to load image.");
}
}
}
2.5 挂载脚本运行
将脚本挂载在Image上,并在Inspector面板中将Image拖入指定位置,最后运行。
2.6 运行结果
三、小结
Resources.Load
是Unity提供的资源加载函数
加载资源(返回一个泛型对象):
var 变量= Resources.Load<T>("Resources文件夹下的文件路径");
//用 “/ ”表示子文件夹
//读取的文件不要加文件的后缀
//Load 后 <> 中写入读取的类型
//示例:读取精灵图片 图片路径:Assets/Resources/Images/001.jpg
//Sprite image = Resources.Load<Sprite>("Images/001");
使用这种方式加载资源文件时,首先需要在Asset目录下创建一个名为Resources的文件夹(可以不在一级目录,二级目录也可以),所有资源文件都放在该文件夹下,命令中的路径从 Resources 文件夹处开始写。
这里可以参考这篇文章:Unity3D 资源加载 Resources.Load
此处借用文章中的示例:
如果我们想要读取音频文件 Assets/Resources/Music/1.wav
,调用方法为:
string fileName = "Music/1";
AudioClip clip = Resources.Load<AudioClip>(fileName);
或者想要加载预制体Assets/Game/Resources/Prefabs/2.prefab,调用方法为
:
string fileName = "Prefabs/2";
GameObject gameobject = Resources.Load(fileName) as GameObject;