Avatar billede simonth Nybegynder
15. november 2006 - 09:25 Der er 2 kommentarer og
1 løsning

A field initializer cannot reference...osv.

Hej, hele dagen i går prøvede jeg at få det her til at virke men kan bare ikke... Det er sikkert nemt nok, men jeg er ikke god til C# så håber der er en der kan hjælpe. Og ja jeg har søgt på Google (mange gange og i laang tid) men kan stadig ikke finde ud af det.
Jeg har følgende kode(det er ikke hele koden men det jeg skal have hjælp til):

namespace WindowsGame1
{

    public class Game1 : Microsoft.Xna.Framework.Game
    {

        GraphicsDeviceManager graphics;
        ContentManager content;


        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            content = new ContentManager(Services);


        }

        SpriteBatch batch = new SpriteBatch(graphics.GraphicsDevice);
 



        protected override void Initialize()
        {


            base.Initialize();
        }



        protected override void LoadGraphicsContent(bool loadAllContent)
        {
            if (loadAllContent)
            {
batch = new SpriteBatch(graphics.GraphicsDevice);
            }

        }


 
        protected override void Draw(GameTime gameTime)
        {
         
            graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
           
                  FontVerdana.init(graphics.GraphicsDevice);
                  FontVerdana.getFont().drawText(batch, new Vector2(0, 0), "Hastighed: " + hastighed, .75f); 

            base.Draw(gameTime);
         
        }




        }
    }

Jeg fik af vide af en at jeg skulle " otherwise declare the reference globally (outside of any function),
and assign it to an object inside the "LoadGraphicsContent" function so that you can use it anywhere." så det har jeg så gjort..(tror jeg..)
Men den siger følgende fejl:
A field initializer cannot reference the nonstatic field, method, or property 'WindowsGame1.Game1.graphics'

Hvad betyder fejlen(har søgt på Google ja men forstår ikke) og hvad skal jeg rette for at det virker/for at den ikke skriver den fejl?
Har brugt hele dagen i går på det, så derfor 100 point til hurtigt og godt svar.
Avatar billede simonth Nybegynder
15. november 2006 - 10:22 #1
Og når jeg prøver at bruge følgende kode
  public void batchtest()
        {
            SpriteBatch batch = new SpriteBatch(graphics.GraphicsDevice);
        }
skriver den
The name 'batch' does not exist in the current context
Hvordan gør jeg så bla. den linje i LoadGraphicsContent (batch = new SpriteBatch(graphics.GraphicsDevice); ) kan bruge den i batchtest?
Avatar billede simonth Nybegynder
15. november 2006 - 10:55 #2
Fandt ud af det. Endelig... Efter 30 timer.
Avatar billede simonth Nybegynder
16. januar 2007 - 17:48 #3
Lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester