Je veux demander, est-il possible de charger dans xna tout le contenu du dossier?
Par exemple dans mon contenu j'ai:
Images / Images de héros
/
Images de voiture / arbre
Je veux faire quelque chose comme ça
Dictionary<string,Model> models = new ...
foreach(string name in content.getNames("Images"))
{
models[name] = content.load<Model>("Images\\" + name);
}
Réponses:
Il existe une excellente page MSDN sur une méthode d'accès au répertoire utile et quelqu'un a posé une question similaire sur StackOverflow .
Fondamentalement, recherchez les fichiers qui se trouvent dans ce répertoire, initialisez un tableau de cette taille, puis parcourez ces fichiers, en chargeant les ressources.
la source
ContentManager
classe. Vous l'utiliseriez donc commeContent.LoadContent<Texture2D>("myFolder")
. LaContent
propriété onGame
est simplement une instance de laContentManager
classe - vous pouvez utiliser n'importe quelle instance de votre choix. (Rien à ce sujet n'a changé entre les versions XNA.)http://xbox.create.msdn.com/en-US/sample/contentmanifestextensions
Il s'agit d'un didacticiel sur le chargement de contenu lors de l'exécution. Il montre comment générer automatiquement une liste à l'aide du pipeline de contenu.
la source
Vous pouvez facilement répertorier tous les fichiers dans un dossier, puis les charger un par un. Par défaut, tous les fichiers de contenu sont stockés dans un dossier juste à côté de votre application principale, il vous suffit donc de vérifier le contenu de cette direction. Vous pouvez également utiliser une fonction récursive si vous souhaitez charger tous les fichiers de tous les répertoires. voici un petit échantillon:
notez que lorsque vous demandez au système de contenu de charger une texture, vous devez supprimer le dossier "content" du nom de fichier.
la source