Я пытаюсь создать поля ввода в Unity 3D программно. Я преуспел в этом при запуске в эмуляторе редактора, но попытка встроить в устройство Android просто приводит к ошибке. "BCE0005: Неизвестный идентификатор: 'AssetDatabase'." По-видимому, этот AssetDataBase доступен только в редакторе.Unity set default image sprite programatically
inputFieldGO.AddComponent.<Image>();
var image : Image = inputFieldGO.GetComponent.<Image>();
image.sprite = AssetDatabase.GetBuiltinExtraResource.<Sprite>("UI/Skin/InputFieldBackground.psd");
image.type = Image.Type.Sliced;
Как мне обойти это? Как установить спрайт этого изображения на значение по умолчанию InputFieldBackground полностью программно, без использования AssetDataBase? Я бы переместил InputFieldBackground в ресурсы проекта, но я не знаю, где находится файл или даже доступен.
Я попытался image.sprite = Resources.Load ("UI/кожа/InputFieldBackground.psd"), как Sprite; так как я использую UnityScript. Это не дает ошибки, но также не загружает спрайт. Я не знаю, как я могу получить доступ к этому спрайту, без AssetDatabase, и я не могу переместить его в папку ресурсов, потому что у меня нет спрайта! – Waltari
То, что я пытаюсь сказать, это то, что я не могу установить спрайт по умолчанию для поля ввода, потому что у меня нет спрайта поля ввода по умолчанию. Я не знаю, где взять спрайт по умолчанию, чтобы я мог переместить его в папку ресурсов. – Waltari
Итак, сначала вы должны поместить свой файл psd в свою папку «Ресурсы», то есть ресурсы/UI/Skin/InputFieldBackground.psd Затем выберите свой файл psd в Unity, и вы увидите его свойства в Inspector, выберите «Тип текстуры: Sprite» (или Advanced). Это создаст спрайт, связанный с вашим файлом psd. Затем попробуйте загрузить спрайт, используя: Resources.Load («UI/Skin/InputFieldBackground») в качестве спрайта. Дайте нам знать, как все прошло! – mayo