unity3d - pro - unity javascript
¿Por qué Resources.Load<Sprite> devuelve null? (6)
Coloque awesome.png
en Assets/Resources/
(puede tener subcarpetas) y use:
GetComponent<SpriteRenderer>().sprite =
Resources.Load<Sprite>("awesome"); // No file extension.
http://docs.unity3d.com/ScriptReference/Resources.html
También hay LoadAll que "carga todos los activos en una carpeta o archivo en la ruta en una carpeta de Recursos".
Mi proyecto tiene varios sprites ubicados en Assets / Sprites que quiero cargar usando el script C #
He probado esto:
Sprite myFruit = Resources.Load <Sprite> ("Graphics_3");
Pero myFruit
sigue siendo nulo.
Debe introducir la ruta completa para el activo. En este caso, intente usar la ruta "Sprites / Graphics_3".
La referencia de scripting de Unity no dice que necesita escribir <Sprite>
justo después de Load
. Así que tuve problemas para cargar sprites, aunque mi sprite estaba en el directorio de Recursos.
Recursos. La carga está buscando en el directorio "Activos / Recursos" Es por eso que necesita hacer
_sprites = Resources.LoadAll<Sprite>(spritesPath);
o
_sprites = Resources.Load<Sprite>(spritesPath);
con spritesPath como ruta relativa. Si necesita cargar todo desde la carpeta "Activos / Recursos / Sprites", solo debe escribir "Sprites".
después de esto puedes hacer lo siguiente:
var sprite = sprites[0];
o
var sprite = _sprites.Where(a => a.name == "Sprite_Name_Needed").First();
Resources.Load
buscará un directorio en Assets/Resources
.
Si desea ponerlo en el directorio de Sprites
, póngalo en Resources
(por ejemplo, Assets/Resources/Sprites
).
Entonces puedes cargarlo así:
Sprite myFruit = Resources.Load <Sprite> ("Sprites/Graphics_3");
También asegúrese de haber configurado su tipo de imagen en Sprite en el inspector.
Si quieres cargar múltiples sprites, usa esto:
Sprite[] myFruit = Resources.LoadAll <Sprite> ("Sprites/Graphics_3");
Vea this para más detalles.
Sprite sp = Resources.LoadAll<Sprite> ("Sprites/AI-Avtar") [2] as Sprite;