19-07-2012, 01:40 PM
Ho un problema con C# e XNA, non riesco a caricare un'immagine come sfondo. Ho pensato di caricare l'immagine di un folletto che nella raccolta immagini, ed il file si chiama proprio "folletto".
Ho provato con il seguente codice:
(il codice non è finito, c'è la barra a destra per scorrere e vederlo interamente).
Ma non capisco perchè non funziona. Alla compilazione l'ide non segnala errori ne avvisi ("warning"), ma dopo averci messo un bel po' a caricare, compare evidenziata la riga:
in giallo, con affianco una vignetta riguardante la riga con scritto:
" ContentLoadException non è stata gestita
Error loading "Immagini\folletto". File not found.
Suggerimenti per la risoluzione dei problemi:
Visulaizzare la guida generale per le eccezioni.
InnerException: Verificare che il file esista nel percorso specificato.
InnerException: Quando si utilizzano i percorsi relativi, accertarsi che la directory corrente sia corretta.
Visualizzare la guida generale per l'eccezione interna.
Cerca ulteriori informazioni nella Guida...
Azioni:
Visualizza dettagli...
Copia dettaglio eccezione negli appunti "
Le cose sottolineate sarebbero i link.
Che errore ho fatto?
Se può essere rilevante vi posso dire che uso Windows 7, con l'IDE Visual C# 2010 Express.
Scusatemi per il post così lungo.
Grazie.
Ho provato con il seguente codice:
Codice:
using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
namespace XNA
{
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
Texture2D imm_folletto;
Vector2 posizione;
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}
protected override void Initialize()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
posizione = new Vector2(0f, 0f);
base.Initialize();
}
protected override void LoadContent()
{
imm_folletto = Content.Load<Texture2D>("Immagini/folletto");
}
protected override void UnloadContent()
{
}
protected override void Update(GameTime gameTime)
{
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin();
spriteBatch.Draw(imm_folletto, posizione, Color.White);
spriteBatch.End();
base.Draw(gameTime);
}
}
}
(il codice non è finito, c'è la barra a destra per scorrere e vederlo interamente).
Ma non capisco perchè non funziona. Alla compilazione l'ide non segnala errori ne avvisi ("warning"), ma dopo averci messo un bel po' a caricare, compare evidenziata la riga:
Codice:
imm_folletto = Content.Load<Texture2D>("Immagini/folletto");
in giallo, con affianco una vignetta riguardante la riga con scritto:
" ContentLoadException non è stata gestita
Error loading "Immagini\folletto". File not found.
Suggerimenti per la risoluzione dei problemi:
Visulaizzare la guida generale per le eccezioni.
InnerException: Verificare che il file esista nel percorso specificato.
InnerException: Quando si utilizzano i percorsi relativi, accertarsi che la directory corrente sia corretta.
Visualizzare la guida generale per l'eccezione interna.
Cerca ulteriori informazioni nella Guida...
Azioni:
Visualizza dettagli...
Copia dettaglio eccezione negli appunti "
Le cose sottolineate sarebbero i link.
Che errore ho fatto?
Se può essere rilevante vi posso dire che uso Windows 7, con l'IDE Visual C# 2010 Express.
Scusatemi per il post così lungo.
Grazie.