Unity3D 资源加载 Resources.Load

本文介绍了Unity中如何使用Resources.Load函数动态加载声音、预制体、材质等资源,强调了资源文件需放在Resources文件夹下,并提供了加载不同类型的资源示例。同时,建议将资源路径存储在静态类中以方便统一管理和代码阅读。
摘要由CSDN通过智能技术生成

        在unity中,一般声音、预制体、材质以及其他各种资源的加载都可以使用拖拽的方式,在组件界面里把资源拖进去即可。但是有时我们也会想要在脚本中加载资源,或者对资源进行统一管理,这时候我们就可以使用Unity提供的资源加载函数——Resources.Load

        加载资源(返回一个泛型对象):var 变量= Resources.Load<T>("Resources文件夹下的文件路径");

使用注意:

  • 使用这种方式加载资源文件时,首先需要在Asset目录下创建一个名为Resources的文件夹(可以不在一级目录,二级目录也可以),所有资源文件都放在该文件夹下,命令中的路径从 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;


        通常,我们可以将资源路径新建一个单独的静态类,单独存储,这样就可以在所有脚本中调用它了,如:

public static class MyConst 
{
    public const string RESOURCES_PATH = "Prefabs/Bullet";
    public const string RESOURCES_ASTEROID01_PATH = "Prefabs/Asteroid_01";
    public const string RESOURCES_ASTEROID02_PATH = "Prefabs/Asteroid_02";
    public const string RESOURCES_ASTEROID03_PATH = "Prefabs/Asteroid_03";
    public const string RESOURCES_ENEMY_PATH = "Prefabs/Enemy";
    public const string RESOURCES_BULLET_ENEMY_PATH = "Prefabs/Bullet_Enemy";
}

        这样我们在其他脚本中直接调用该类中的字符串常量即可加载资源,在日后看代码的时候也比较好通过字符串常量的命名知道加载的资源是什么:

    GameObject enemy;
    private void Awake()
    {
        enemy = Resources.Load(MyConst.RESOURCES_ENEMY_PATH) as GameObject;
    }

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值