我使用Unity3D。 我需要在我的资源中获取Sprite文件夹路径,所以我使用了#34; AssetDatabase"上课要做到这一点。但这个类依赖于UnityEditor refrence并且无法在android上编译。所以我需要另一种方式来获得我的资产路径。 这是我的代码和工作完美,但我必须改变它在Android上编译,我需要获取Sprite文件夹名称:
void makeRandomQuestion()
{
Sprite temp = AllQuestions[Random.Range(0, AllQuestions.Count)];
gameObject.transform.GetChild(0).gameObject.GetComponent<Image>().sprite = temp ;
string t = AssetDatabase.GetAssetPath(temp);
string[] m = t.Split('/');
string c = m[2] + "/Character/char/" + temp.name;
correctOption = Resources.Load<Sprite>(c);
}
答案 0 :(得分:1)
Resources文件夹是一个特殊文件夹,允许您通过脚本中的文件路径和名称访问资产。 AssetDatabase是仅限编辑器的API。 所以,你只需要将你的资源放在Resources文件夹中并像这样访问它们:
correctOption = Resources.Load<Sprite>("pathToAssetInResourcesFolder");