Mon projet comporte plusieurs sprites situés dans Assets\Sprites que je veux charger à l'aide d'un script C #.
J'ai testé ceci:
Sprite myFruit = Resources.Load <Sprite> ("Graphics_3");
Mais myFruit
est toujours nul.
Resources.Load
va rechercher un répertoire dans Assets/Resources
.
Si vous voulez le placer dans le répertoire Sprites
, placez-le dans Resources
(ex. Assets/Resources/Sprites
).
Ensuite, vous pouvez simplement le charger comme ceci:
Sprite myFruit = Resources.Load <Sprite> ("Sprites/Graphics_3");
Assurez-vous également que vous avez défini votre type d'image sur Sprite dans l'inspecteur.
Si vous voulez charger plusieurs sprites, utilisez ceci:
Sprite[] myFruit = Resources.LoadAll <Sprite> ("Sprites/Graphics_3");
Voir this pour plus de détails.
Placez awesome.png
dans Assets/Resources/
(vous pouvez avoir des sous-dossiers) et utilisez:
GetComponent<SpriteRenderer>().Sprite =
Resources.Load<Sprite>("awesome"); // No file extension.
http://docs.unity3d.com/ScriptReference/Resources.html
Il y a aussi LoadAll that "Charge tous les actifs d'un dossier ou d'un fichier sur le chemin d'accès dans un dossier Resources."
Sprite sp = Resources.LoadAll<Sprite> ("Sprites/AI-Avtar") [2] as Sprite;
Resources.Load recherche dans le répertoire "Assets/Resources" C’est pourquoi vous devez le faire
_sprites = Resources.LoadAll<Sprite>(spritesPath);
ou
_sprites = Resources.Load<Sprite>(spritesPath);
avec spritesPath comme chemin relatif . Si vous devez tout charger à partir du dossier "Assets/Resources/Sprites", vous devez écrire uniquement "Sprites".
après cela, vous pouvez simplement faire ce qui suit:
var Sprite = sprites[0];
ou
var Sprite = _sprites.Where(a => a.name == "Sprite_Name_Needed").First();
Vous devez entrer le chemin complet de l'actif. Dans ce cas, essayez d'utiliser le chemin "Sprites/Graphics_3".
La référence de script de Unity ne dit pas que vous avez besoin d'écrire <Sprite>
juste après Load
. J'ai donc eu un problème avec le chargement des sprites, bien que mon sprite soit dans le répertoire des ressources.