2015-08-12 3 views
0

Я работаю с Unity3D. Мне нужно получить путь к папке Sprite в моих ресурсах, поэтому я использовал класс AssetDatabase для этого. но этот класс зависит от UnityEditor refrence и не может компилироваться на android. поэтому мне нужен еще один способ получить мой путь к активам. это мой код и работать идеально, но я должен изменить, что для компиляции на Android, мне нужно получить имя папки Sprite:Получить путь к папке с активами на Android (Unity3D)?

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

Почему вы не храните пути в файле данных (XML/JSON), вставить файл в ресурсах, и загрузка это во время выполнения, чтобы получить путь? AFAIK, нет способа получить имена путей ресурса в пространстве имен UnityEngine –

ответ

1

Папка ресурсов является специальной папкой, которая позволяет получить доступ к активам по файлам путь и имя в ваших сценариях. AssetDatabase - это только API-интерфейс редактора. Таким образом, нужно просто поместить свои активы в папке ресурсов и доступа к ним, как это:

correctOption = Resources.Load<Sprite>("pathToAssetInResourcesFolder"); 
Смежные вопросы