自学内容网 自学内容网

unity3d————Resources同步加载

知识点一:Resources资源动态加载的作用

  • 作用
    • 通过代码动态加载Resources文件夹下指定路径的资源。
    • 避免繁琐的拖曳操作,提高开发效率

知识点二:常用资源类型

  • 预设体对象:GameObject
    • 加载后需要实例化才能使用在场景中。
  • 音效文件:AudioClip
    • 加载后可直接赋值给音频源(AudioSource)使用。
  • 文本文件:TextAsset
    • 支持多种格式,如.txt、.xml、.bytes、.json等。
    • 加载后可访问其文本内容或字节数据。
  • 图片文件:Texture
    • 加载后可直接用于图像渲染或材质设置。
  • 其它类型:根据需要加载相应类型的资源。

注意

  • 预设体对象加载后需要实例化。
  • 其它资源加载后一般可直接使用

知识点三:资源同步加载(普通方法)

1. Resources文件夹
  • 在一个工程中,Resources文件夹可以有多个。
  • 打包时,Resources文件夹中的内容都会被打包在一起。
2. 加载预设体对象
  • 步骤
    1. 加载预设体的资源文件(加载配置数据到内存中)。
      Object obj = Resources.Load("Cube");
    2. 实例化预设体,将其创建在场景上。
      Instantiate(obj);
3. 加载音效资源
  • 步骤
    1. 加载音效文件。
      Object obj3 = Resources.Load("Music/BKMusic");
    2. 将加载的音效文件赋值给音频源的clip属性,并播放。
      audioS.clip = obj3 as AudioClip;
      audioS.Play();
4. 加载文本资源
  • 支持的格式:.txt、.xml、.bytes、.json、.html、.csv等。
  • 步骤
    1. 加载文本文件。
      TextAsset ta = Resources.Load("Txt/Test") as TextAsset;
    2. 访问文本内容。
      print(ta.text);
5. 加载图片资源
  • 步骤
    1. 加载图片文件。
      Texture tex = Resources.Load("Tex/TestJPG") as Texture;
6. 处理资源同名问题
  • 问题Resources.Load加载同名资源时,无法准确加载出想要的内容。
  • 解决方案
    • 6-1:加载指定类型的资源。
      tex = Resources.Load("Tex/TestJPG", typeof(Texture)) as Texture;
    • 6-2:加载指定名字的所有资源,并根据类型进行区分。
      Object[] objs = Resources.LoadAll("Tex/TestJPG");
      foreach (Object item in objs)
      {
      if (item is Texture)
      {
      // 处理Texture类型资源
      }
      else if (item is TextAsset)
      {
      // 处理TextAsset类型资源
      }
      }

知识点四:资源同步加载(泛型方法)

  • 泛型方法:使用Resources.Load<T>()可以更加简洁地加载指定类型的资源。
  • 示例
    • 加载文本资源。
      TextAsset ta2 = Resources.Load<TextAsset>("Tex/TestJPG");
      print(ta2.text);
    • 加载图片资源。
      Texture tex = Resources.Load<Texture>("Tex/TestJPG");

总结

  • Resources动态加载资源的方法
    • 提高了资源的拓展性和灵活性。
    • 相对于拖曳操作,更加一劳永逸、方便快捷。
  • 重要知识点
    • 熟记Resources.LoadResources.LoadAll等API的使用方法。
    • 注意不同资源类型的加载方式和使用方式。
    • 预设体加载后需要实例化才能使用在场景中。
    • 了解并处理资源同名问题,确保正确加载所需资源。

原文地址:https://blog.csdn.net/2401_82978699/article/details/143796053

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!