Pourquoi ne Ressources.Load <Sprite> return null?
Mon projet a plusieurs sprites situé dans Assets\Sprites qui je veux charger à l'aide de C# script.
J'ai testé ceci:
Sprite myFruit = Resources.Load <Sprite> ("Graphics_3");
Mais myFruit
est toujours null.
Vous devez vous connecter pour publier un commentaire.
Resources.Load
sera à la recherche d'un répertoire dansAssets/Resources
.Si vous voulez le mettre à
Sprites
répertoire puis le mettre à l'intérieurResources
(ex.Assets/Resources/Sprites
).Alors vous pouvez simplement charger comme ceci:
Assurez-vous également que vous avez configuré votre type d'image-objet de l'inspecteur.
Si vous souhaitez charger plusieurs sprites, utilisez ceci:
Voir cette pour plus de détails.
Resources.Load()
permettra non seulement de rechercher dansAssets/Resources
, mais dans n'importe quel répertoire nomméResources
en vertu de tout autre répertoire, par exempleAssets/Sprites/Resources
,Assets/Foobar/Plugin/Resources
, etc.Place
awesome.png
dansAssets/Resources/
(vous pouvez avoir des sous-dossiers), et l'utilisation:http://docs.unity3d.com/ScriptReference/Resources.html
Il y a aussi LoadAll que "Charge tous les actifs dans un fichier ou un dossier dans le chemin dans un dossier de Ressources."
Vous devez entrer le chemin d'accès complet de l'actif. Dans ce cas, essayez d'utiliser le chemin d'accès "Sprites/Graphics_3".
Ressources.De la charge sont à la recherche dans le répertoire "Assets/Ressources"
C'est pourquoi vous avez besoin de faire
ou
avec spritesPath en tant que chemin d'accès relatif.
Si vous avez besoin de charger l'ensemble du dossier "Assets/Ressources/Sprites", vous devez écrire seulement "Sprites".
après cela, vous pouvez simplement faire ce qui suit:
ou
L'unité du manuel référence de scripting n'est pas dit que vous devez écrire
<Sprite>
juste aprèsLoad
. J'ai donc eu de problème avec le chargement des sprites, bien que mon sprite était dans le répertoire des Ressources.