7.0 KiB
#unity/日常积累
使用前必须在项目中创建一个名叫Resources的文件夹,这个名字是固定的。
在一个项目可以创建多个名叫Resources的文件夹,它们可以放在Assets文件夹中的任意位置,使用Resources的方法加载时,将对每个Resources文件夹进行查找。
注意:如果一个项目中有多个Resources文件夹,则应确保里面的文件的相对路径不重复,如果重复,则使用Resources.Load方法加载时,只会加载找到的第一个该名字的文件。
在同一个文件夹中,文件名不要重名,如果实在要重名,则加载时要使用泛型加载指定的类型。
使用Resources.Load或者Resources.LoadAll加载时,路径是从Resources文件夹里面的文件夹开始的,例如Resources文件夹里有一个Audio文件夹,Audio文件夹里面也有一个Music文件夹,Music文件夹有一个叫做Song的.mp3文件,则路径是"Audio/Music/Song"
路径中的文件名末尾一定不要写后缀,写了后缀反而加载不成功。
路径可以用反斜杠来写。"Audio/Music/Song"可以写成: "Audio\Music\Song" 或者 @"Audio\Music\Song" 不建议路径用反斜杠来写,建议统一都用正斜杠来写。
Resources.Load(string 要加载的资源的路径) 返回值是Object型。 同步加载Resources文件夹中的资源。 如果有多个相同路径的资源,则只会返回找到的第一个资源。
Resources.Load(string 要加载的资源的路径, System.Type 要加载的资源的类型的Type对象) 返回值是Object型。 同步加载Resources文件夹中的指定类型的资源。 如果有多个相同类型,且相同路径的资源,则只会返回找到的第一个资源。
Resources.Load<要加载的资源的类型>(string 要加载的资源的路径) 返回值是要加载的资源的类型。 同步加载Resources文件夹中的指定类型的资源。 如果有多个相同类型,且相同路径的资源,则只会返回找到的第一个资源。
Resources.LoadAll(string 要加载的资源的文件夹路径或文件路径) 返回值是Object[]型。 同步加载Resources文件夹中指定路径的文件夹中的所有资源,包括其中子孙文件夹中的所有资源,然后返回到一个Object[]型数组。 如果该路径是一个文件,则只会加载该文件,并返回到一个Object[]型数组。 如果没有加载到任何资源,则返回一个没有任何元素的Object[]型数组。
Resources.LoadAll(string 要加载的资源的文件夹路径或文件路径,System.Type 要加载的资源的类型的Type对象) 返回值是Object[]型。 同步加载Resources文件夹中指定路径的文件夹中的指定类型的所有资源,包括其中子孙文件夹中的该类型的所有资源,然后返回到一个Object[]型数组。 如果该路径是一个该指定类型的文件,则只会加载该文件,并返回到一个Object[]型数组。 如果没有加载到任何资源,则返回一个没有任何元素的Object[]型数组。
Resources.LoadAll(string 要加载的资源的文件夹路径或文件路径) 同步加载Resources文件夹中指定路径的文件夹中的指定类型的所有资源,包括其中子孙文件夹中的该类型的所有资源,然后返回到一个Object[]型数组。 如果该路径是一个该指定类型的文件,则只会加载该文件,并返回到一个Object[]型数组。 如果没有加载到任何资源,则返回一个没有任何元素的Object[]型数组。
Resources.LoadAsync(string 要加载的资源的路径,UnityAction