Atout non trouvé XNA
Je suis très nouveau à XNA et j'ai commencé en suivant un tutoriel qui dessine une image sur l'écran.
J'ai été en mesure de déplacer mon image dans le dossier de Contenu, mais lorsque j'essaie de l'utiliser dans mon code, il ne peut pas être trouvé.
Je suis en utilisant le nom de l'actif et je ne trouve pas ce que je fais de mal.
Les tutoriels utiliser XNA 3.0 et je suis à l'aide de Visual Studio 2010, vous ne savez pas si ce qui compte ou pas.
Voici mon code
public class Game1 : Microsoft.Xna.Framework.Game
{
Vector2 mPosition = new Vector2(0, 0);
Texture2D mSpriteTexture;
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}
protected override void Initialize()
{
base.Initialize();
}
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
mSpriteTexture = Content.Load<Texture2D>("Face");
}
protected override void UnloadContent()
{
}
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.Black);
spriteBatch.Begin();
spriteBatch.Draw(mSpriteTexture, mPosition, Color.White);
spriteBatch.End();
base.Draw(gameTime);
}
}
}
L'erreur indique "ContentLoadException était non Gérée. Fichier non trouvé.
J'espère que c'est assez d'informations. Aussi le nom de l'actif de mon fichier est en Face.
Merci d'avance.
Vous devez vous connecter pour publier un commentaire.
Si vous avez ajouté de votre fichier sur le Contenu du projet (ceux qui sont nouveaux pour la version 4.0) les autres choses à vérifier serait de s'assurer que le fichier est l'un des formats pris en charge pour un Texture2D (.jpg, .png, .bmp, .tga). Après cela, cliquez sur l'image et vérifier que le nom de l'actif est correct et correspondant à la casse exacte, et l'orthographe que vous utilisez dans le code afin de le charger de ce nom. Si c'est exact, alors assurez-vous également que le Contenu de l'Importateur pour l'image est correctement réglé pour être un Texture2D. Et puis une autre chose à vérifier serait de faire en sorte que vous êtes l'image est à la racine du projet de Contenu et pas dans un dossier. Si vous l'avez dans un dossier, ensuite, vous devez inclure le nom du dossier (ou les noms) lorsque vous le chargez.
Si vous avez vérifié tout ce que vous devez poster une image ou un échantillon de projet afin que nous puissions jeter un oeil et voir si l'on place quelque chose de cette façon.
De cette capture d'écran on dirait que vous devez faire un clic droit sur le projet "Test" et de dire "Ajouter du Contenu de Référence". Vous devrez ensuite choisir votre "Test (Contenu)" projet en tant que référence. Il aurait dû l'être par défaut lors de la création de ce nouveau projet de jeu et je ne sais pas pourquoi, on dirait qu'il a été supprimé.
Que vous utilisez Visual Studio 2010, je devine que vous êtes en utilisant XNA 4.0. Si c'est le cas, il y a un nouveau
Content Reference
projet où vous avez mis toutes vos textures, des sons, des modèles, etc. en. Si vous avez créé unContent
dossier dans leXNA Game
projet, cela ne fonctionne pas.Face
fichier est défini comme une Texture dans leContent Reference
projet.Dans XNA 4.0 Contenu du projet de Référence a un Répertoire Racine de Contenu bien (mis à Contenu par défaut), qui spécifie le nom du sous-répertoire qui va contenir le résultat final des fichiers de pipeline de contenu généré à partir du dossier de projet. Par conséquent, si vous créez Contenu répertoire à l'intérieur Contenu de Référence projet de la Visage actif sera placé dans Contenu/Contenu répertoire, et vous devrez vous charger de cette
malgré la mise
Content.RootDirectory = "Content"
Une autre solution possible:
Vérifier votre fichier d'origine (par exemple,
MyTexture.bmp
) et assurez-vous que le Action de Construire est fixé à Compiler.Si vous l'avez configuré pour autre chose, comme la logique apparente Contenu, ça ne marchera pas.